24#ifndef _IMMINTRIN_H_INCLUDED
25#error "Never use <avx512fintrin.h> directly; include <immintrin.h> instead."
28#ifndef _AVX512FINTRIN_H_INCLUDED
29#define _AVX512FINTRIN_H_INCLUDED
32#pragma GCC push_options
33#pragma GCC target("avx512f")
34#define __DISABLE_AVX512F__
40typedef long long __v8di
__attribute__ ((__vector_size__ (64)));
41typedef unsigned long long __v8du
__attribute__ ((__vector_size__ (64)));
43typedef unsigned int __v16su
__attribute__ ((__vector_size__ (64)));
45typedef unsigned short __v32hu
__attribute__ ((__vector_size__ (64)));
47typedef unsigned char __v64qu
__attribute__ ((__vector_size__ (64)));
51typedef float __m512
__attribute__ ((__vector_size__ (64), __may_alias__));
52typedef long long __m512i
__attribute__ ((__vector_size__ (64), __may_alias__));
53typedef double __m512d
__attribute__ ((__vector_size__ (64), __may_alias__));
56typedef float __m512_u
__attribute__ ((__vector_size__ (64), __may_alias__, __aligned__ (1)));
57typedef long long __m512i_u
__attribute__ ((__vector_size__ (64), __may_alias__, __aligned__ (1)));
58typedef double __m512d_u
__attribute__ ((__vector_size__ (64), __may_alias__, __aligned__ (1)));
65_mm512_int2mask (
int __M)
71__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
77extern __inline __m512i
78__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
79_mm512_set_epi64 (
long long __A,
long long __B,
long long __C,
83 return __extension__ (__m512i) (__v8di)
88extern __inline __m512i
89__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
95 return __extension__ (__m512i)(__v16si)
100extern __inline __m512i
101__attribute__((__gnu_inline__, __always_inline__, __artificial__))
111 return __extension__ (__m512i)(__v32hi){
119extern __inline __m512i
120__attribute__((__gnu_inline__, __always_inline__, __artificial__))
138 return __extension__ (__m512i)(__v64qi){
150extern __inline __m512d
151__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
152_mm512_set_pd (
double __A,
double __B,
double __C,
double __D,
155 return __extension__ (__m512d)
159extern __inline __m512
160__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
161_mm512_set_ps (
float __A,
float __B,
float __C,
float __D,
166 return __extension__ (__m512)
171#define _mm512_setr_epi64(e0,e1,e2,e3,e4,e5,e6,e7) \
172 _mm512_set_epi64(e7,e6,e5,e4,e3,e2,e1,e0)
174#define _mm512_setr_epi32(e0,e1,e2,e3,e4,e5,e6,e7, \
175 e8,e9,e10,e11,e12,e13,e14,e15) \
176 _mm512_set_epi32(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0)
178#define _mm512_setr_pd(e0,e1,e2,e3,e4,e5,e6,e7) \
179 _mm512_set_pd(e7,e6,e5,e4,e3,e2,e1,e0)
181#define _mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) \
182 _mm512_set_ps(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0)
184extern __inline __m512
185__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
186_mm512_undefined_ps (
void)
192#define _mm512_undefined _mm512_undefined_ps
194extern __inline __m512d
195__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
196_mm512_undefined_pd (
void)
202extern __inline __m512i
203__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
204_mm512_undefined_epi32 (
void)
210#define _mm512_undefined_si512 _mm512_undefined_epi32
212extern __inline __m512i
213__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
214_mm512_set1_epi8 (
char __A)
216 return __extension__ (__m512i)(__v64qi)
227extern __inline __m512i
228__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
229_mm512_set1_epi16 (
short __A)
231 return __extension__ (__m512i)(__v32hi)
238extern __inline __m512d
239__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
240_mm512_set1_pd (
double __A)
242 return __extension__ (__m512d)(__v8df)
246extern __inline __m512
247__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
248_mm512_set1_ps (
float __A)
250 return __extension__ (__m512)(__v16sf)
256extern __inline __m512i
257__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
260 return __extension__ (__m512i)(__v16si)
265extern __inline __m512i
266__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
267_mm512_set4_epi64 (
long long __A,
long long __B,
long long __C,
270 return __extension__ (__m512i) (__v8di)
274extern __inline __m512d
275__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
276_mm512_set4_pd (
double __A,
double __B,
double __C,
double __D)
278 return __extension__ (__m512d)
282extern __inline __m512
283__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
284_mm512_set4_ps (
float __A,
float __B,
float __C,
float __D)
286 return __extension__ (__m512)
291#define _mm512_setr4_epi64(e0,e1,e2,e3) \
292 _mm512_set4_epi64(e3,e2,e1,e0)
294#define _mm512_setr4_epi32(e0,e1,e2,e3) \
295 _mm512_set4_epi32(e3,e2,e1,e0)
297#define _mm512_setr4_pd(e0,e1,e2,e3) \
298 _mm512_set4_pd(e3,e2,e1,e0)
300#define _mm512_setr4_ps(e0,e1,e2,e3) \
301 _mm512_set4_ps(e3,e2,e1,e0)
303extern __inline __m512
304__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
305_mm512_setzero_ps (
void)
307 return __extension__ (__m512){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
308 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
311extern __inline __m512
312__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
315 return _mm512_setzero_ps ();
318extern __inline __m512d
319__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
320_mm512_setzero_pd (
void)
322 return __extension__ (__m512d) { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
325extern __inline __m512i
326__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
327_mm512_setzero_epi32 (
void)
329 return __extension__ (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 };
332extern __inline __m512i
333__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
334_mm512_setzero_si512 (
void)
336 return __extension__ (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 };
339extern __inline __m512d
340__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
343 return (__m512d) __builtin_ia32_movapd512_mask ((__v8df)
__A,
348extern __inline __m512d
349__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
352 return (__m512d) __builtin_ia32_movapd512_mask ((__v8df)
__A,
354 _mm512_setzero_pd (),
358extern __inline __m512
359__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
362 return (__m512) __builtin_ia32_movaps512_mask ((__v16sf)
__A,
367extern __inline __m512
368__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
371 return (__m512) __builtin_ia32_movaps512_mask ((__v16sf)
__A,
373 _mm512_setzero_ps (),
377extern __inline __m512d
378__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
379_mm512_load_pd (
void const *
__P)
381 return *(__m512d *)
__P;
384extern __inline __m512d
385__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
388 return (__m512d) __builtin_ia32_loadapd512_mask ((
const __v8df *)
__P,
393extern __inline __m512d
394__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
397 return (__m512d) __builtin_ia32_loadapd512_mask ((
const __v8df *)
__P,
399 _mm512_setzero_pd (),
404__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
405_mm512_store_pd (
void *
__P, __m512d
__A)
411__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
414 __builtin_ia32_storeapd512_mask ((__v8df *)
__P, (__v8df)
__A,
418extern __inline __m512
419__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
420_mm512_load_ps (
void const *
__P)
422 return *(__m512 *)
__P;
425extern __inline __m512
426__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
429 return (__m512) __builtin_ia32_loadaps512_mask ((
const __v16sf *)
__P,
434extern __inline __m512
435__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
438 return (__m512) __builtin_ia32_loadaps512_mask ((
const __v16sf *)
__P,
440 _mm512_setzero_ps (),
445__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
446_mm512_store_ps (
void *
__P, __m512
__A)
452__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
455 __builtin_ia32_storeaps512_mask ((__v16sf *)
__P, (__v16sf)
__A,
459extern __inline __m512i
460__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
463 return (__m512i) __builtin_ia32_movdqa64_512_mask ((__v8di)
__A,
468extern __inline __m512i
469__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
472 return (__m512i) __builtin_ia32_movdqa64_512_mask ((__v8di)
__A,
474 _mm512_setzero_si512 (),
478extern __inline __m512i
479__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
480_mm512_load_epi64 (
void const *
__P)
482 return *(__m512i *)
__P;
485extern __inline __m512i
486__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
489 return (__m512i) __builtin_ia32_movdqa64load512_mask ((
const __v8di *)
__P,
494extern __inline __m512i
495__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
498 return (__m512i) __builtin_ia32_movdqa64load512_mask ((
const __v8di *)
__P,
500 _mm512_setzero_si512 (),
505__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
506_mm512_store_epi64 (
void *
__P, __m512i
__A)
512__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
515 __builtin_ia32_movdqa64store512_mask ((__v8di *)
__P, (__v8di)
__A,
519extern __inline __m512i
520__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
523 return (__m512i) __builtin_ia32_movdqa32_512_mask ((__v16si)
__A,
528extern __inline __m512i
529__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
532 return (__m512i) __builtin_ia32_movdqa32_512_mask ((__v16si)
__A,
534 _mm512_setzero_si512 (),
538extern __inline __m512i
539__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
540_mm512_load_si512 (
void const *
__P)
542 return *(__m512i *)
__P;
545extern __inline __m512i
546__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
547_mm512_load_epi32 (
void const *
__P)
549 return *(__m512i *)
__P;
552extern __inline __m512i
553__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
556 return (__m512i) __builtin_ia32_movdqa32load512_mask ((
const __v16si *)
__P,
561extern __inline __m512i
562__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
565 return (__m512i) __builtin_ia32_movdqa32load512_mask ((
const __v16si *)
__P,
567 _mm512_setzero_si512 (),
572__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
573_mm512_store_si512 (
void *
__P, __m512i
__A)
579__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
580_mm512_store_epi32 (
void *
__P, __m512i
__A)
586__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
589 __builtin_ia32_movdqa32store512_mask ((__v16si *)
__P, (__v16si)
__A,
593extern __inline __m512i
594__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
595_mm512_mullo_epi32 (__m512i
__A, __m512i
__B)
597 return (__m512i) ((__v16su)
__A * (__v16su)
__B);
600extern __inline __m512i
601__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
604 return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si)
__A,
607 _mm512_setzero_si512 (),
611extern __inline __m512i
612__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
615 return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si)
__A,
620extern __inline __m512i
621__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
622_mm512_mullox_epi64 (__m512i
__A, __m512i
__B)
624 return (__m512i) ((__v8du)
__A * (__v8du)
__B);
627extern __inline __m512i
628__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
631 return _mm512_mask_mov_epi64 (
__W,
__M, _mm512_mullox_epi64 (
__A,
__B));
634extern __inline __m512i
635__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
636_mm512_sllv_epi32 (__m512i
__X, __m512i
__Y)
638 return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si)
__X,
641 _mm512_undefined_epi32 (),
645extern __inline __m512i
646__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
649 return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si)
__X,
655extern __inline __m512i
656__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
659 return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si)
__X,
662 _mm512_setzero_si512 (),
666extern __inline __m512i
667__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
668_mm512_srav_epi32 (__m512i
__X, __m512i
__Y)
670 return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si)
__X,
673 _mm512_undefined_epi32 (),
677extern __inline __m512i
678__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
681 return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si)
__X,
687extern __inline __m512i
688__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
691 return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si)
__X,
694 _mm512_setzero_si512 (),
698extern __inline __m512i
699__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
700_mm512_srlv_epi32 (__m512i
__X, __m512i
__Y)
702 return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si)
__X,
705 _mm512_undefined_epi32 (),
709extern __inline __m512i
710__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
713 return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si)
__X,
719extern __inline __m512i
720__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
723 return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si)
__X,
726 _mm512_setzero_si512 (),
730extern __inline __m512i
731__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
732_mm512_add_epi64 (__m512i
__A, __m512i
__B)
734 return (__m512i) ((__v8du)
__A + (__v8du)
__B);
737extern __inline __m512i
738__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
741 return (__m512i) __builtin_ia32_paddq512_mask ((__v8di)
__A,
747extern __inline __m512i
748__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
751 return (__m512i) __builtin_ia32_paddq512_mask ((__v8di)
__A,
754 _mm512_setzero_si512 (),
758extern __inline __m512i
759__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
760_mm512_sub_epi64 (__m512i
__A, __m512i
__B)
762 return (__m512i) ((__v8du)
__A - (__v8du)
__B);
765extern __inline __m512i
766__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
769 return (__m512i) __builtin_ia32_psubq512_mask ((__v8di)
__A,
775extern __inline __m512i
776__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
779 return (__m512i) __builtin_ia32_psubq512_mask ((__v8di)
__A,
782 _mm512_setzero_si512 (),
786extern __inline __m512i
787__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
788_mm512_sllv_epi64 (__m512i
__X, __m512i
__Y)
790 return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di)
__X,
793 _mm512_undefined_pd (),
797extern __inline __m512i
798__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
801 return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di)
__X,
807extern __inline __m512i
808__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
811 return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di)
__X,
814 _mm512_setzero_si512 (),
818extern __inline __m512i
819__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
820_mm512_srav_epi64 (__m512i
__X, __m512i
__Y)
822 return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di)
__X,
825 _mm512_undefined_epi32 (),
829extern __inline __m512i
830__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
833 return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di)
__X,
839extern __inline __m512i
840__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
843 return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di)
__X,
846 _mm512_setzero_si512 (),
850extern __inline __m512i
851__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
852_mm512_srlv_epi64 (__m512i
__X, __m512i
__Y)
854 return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di)
__X,
857 _mm512_undefined_epi32 (),
861extern __inline __m512i
862__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
865 return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di)
__X,
871extern __inline __m512i
872__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
875 return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di)
__X,
878 _mm512_setzero_si512 (),
882extern __inline __m512i
883__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
884_mm512_add_epi32 (__m512i
__A, __m512i
__B)
886 return (__m512i) ((__v16su)
__A + (__v16su)
__B);
889extern __inline __m512i
890__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
893 return (__m512i) __builtin_ia32_paddd512_mask ((__v16si)
__A,
899extern __inline __m512i
900__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
903 return (__m512i) __builtin_ia32_paddd512_mask ((__v16si)
__A,
906 _mm512_setzero_si512 (),
910extern __inline __m512i
911__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
912_mm512_mul_epi32 (__m512i
__X, __m512i
__Y)
914 return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si)
__X,
917 _mm512_undefined_epi32 (),
921extern __inline __m512i
922__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
925 return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si)
__X,
930extern __inline __m512i
931__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
934 return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si)
__X,
937 _mm512_setzero_si512 (),
941extern __inline __m512i
942__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
943_mm512_sub_epi32 (__m512i
__A, __m512i
__B)
945 return (__m512i) ((__v16su)
__A - (__v16su)
__B);
948extern __inline __m512i
949__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
952 return (__m512i) __builtin_ia32_psubd512_mask ((__v16si)
__A,
958extern __inline __m512i
959__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
962 return (__m512i) __builtin_ia32_psubd512_mask ((__v16si)
__A,
965 _mm512_setzero_si512 (),
969extern __inline __m512i
970__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
971_mm512_mul_epu32 (__m512i
__X, __m512i
__Y)
973 return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si)
__X,
976 _mm512_undefined_epi32 (),
980extern __inline __m512i
981__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
984 return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si)
__X,
989extern __inline __m512i
990__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
993 return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si)
__X,
996 _mm512_setzero_si512 (),
1001extern __inline __m512i
1002__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1005 return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di)
__A,
__B,
1007 _mm512_undefined_epi32 (),
1011extern __inline __m512i
1012__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1016 return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di)
__A,
__B,
1021extern __inline __m512i
1022__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1025 return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di)
__A,
__B,
1027 _mm512_setzero_si512 (),
1031#define _mm512_slli_epi64(X, C) \
1032 ((__m512i) __builtin_ia32_psllqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
1033 (__v8di)(__m512i)_mm512_undefined_epi32 (),\
1036#define _mm512_mask_slli_epi64(W, U, X, C) \
1037 ((__m512i) __builtin_ia32_psllqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
1038 (__v8di)(__m512i)(W),\
1041#define _mm512_maskz_slli_epi64(U, X, C) \
1042 ((__m512i) __builtin_ia32_psllqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
1043 (__v8di)(__m512i)_mm512_setzero_si512 (),\
1047extern __inline __m512i
1048__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1049_mm512_sll_epi64 (__m512i
__A, __m128i
__B)
1051 return (__m512i) __builtin_ia32_psllq512_mask ((__v8di)
__A,
1054 _mm512_undefined_epi32 (),
1058extern __inline __m512i
1059__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1062 return (__m512i) __builtin_ia32_psllq512_mask ((__v8di)
__A,
1068extern __inline __m512i
1069__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1072 return (__m512i) __builtin_ia32_psllq512_mask ((__v8di)
__A,
1075 _mm512_setzero_si512 (),
1080extern __inline __m512i
1081__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1084 return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)
__A,
__B,
1086 _mm512_undefined_epi32 (),
1090extern __inline __m512i
1091__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1093 __m512i
__A,
unsigned int __B)
1095 return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)
__A,
__B,
1100extern __inline __m512i
1101__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1104 return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)
__A,
__B,
1106 _mm512_setzero_si512 (),
1110#define _mm512_srli_epi64(X, C) \
1111 ((__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
1112 (__v8di)(__m512i)_mm512_undefined_epi32 (),\
1115#define _mm512_mask_srli_epi64(W, U, X, C) \
1116 ((__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
1117 (__v8di)(__m512i)(W),\
1120#define _mm512_maskz_srli_epi64(U, X, C) \
1121 ((__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
1122 (__v8di)(__m512i)_mm512_setzero_si512 (),\
1126extern __inline __m512i
1127__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1128_mm512_srl_epi64 (__m512i
__A, __m128i
__B)
1130 return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di)
__A,
1133 _mm512_undefined_epi32 (),
1137extern __inline __m512i
1138__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1141 return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di)
__A,
1147extern __inline __m512i
1148__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1151 return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di)
__A,
1154 _mm512_setzero_si512 (),
1159extern __inline __m512i
1160__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1163 return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di)
__A,
__B,
1165 _mm512_undefined_epi32 (),
1169extern __inline __m512i
1170__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1174 return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di)
__A,
__B,
1179extern __inline __m512i
1180__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1183 return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di)
__A,
__B,
1185 _mm512_setzero_si512 (),
1189#define _mm512_srai_epi64(X, C) \
1190 ((__m512i) __builtin_ia32_psraqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
1191 (__v8di)(__m512i)_mm512_undefined_epi32 (),\
1194#define _mm512_mask_srai_epi64(W, U, X, C) \
1195 ((__m512i) __builtin_ia32_psraqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
1196 (__v8di)(__m512i)(W),\
1199#define _mm512_maskz_srai_epi64(U, X, C) \
1200 ((__m512i) __builtin_ia32_psraqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
1201 (__v8di)(__m512i)_mm512_setzero_si512 (),\
1205extern __inline __m512i
1206__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1207_mm512_sra_epi64 (__m512i
__A, __m128i
__B)
1209 return (__m512i) __builtin_ia32_psraq512_mask ((__v8di)
__A,
1212 _mm512_undefined_epi32 (),
1216extern __inline __m512i
1217__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1220 return (__m512i) __builtin_ia32_psraq512_mask ((__v8di)
__A,
1226extern __inline __m512i
1227__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1230 return (__m512i) __builtin_ia32_psraq512_mask ((__v8di)
__A,
1233 _mm512_setzero_si512 (),
1238extern __inline __m512i
1239__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1242 return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si)
__A,
__B,
1244 _mm512_undefined_epi32 (),
1248extern __inline __m512i
1249__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1253 return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si)
__A,
__B,
1258extern __inline __m512i
1259__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1262 return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si)
__A,
__B,
1264 _mm512_setzero_si512 (),
1268#define _mm512_slli_epi32(X, C) \
1269 ((__m512i) __builtin_ia32_pslldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
1270 (__v16si)(__m512i)_mm512_undefined_epi32 (),\
1273#define _mm512_mask_slli_epi32(W, U, X, C) \
1274 ((__m512i) __builtin_ia32_pslldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
1275 (__v16si)(__m512i)(W),\
1278#define _mm512_maskz_slli_epi32(U, X, C) \
1279 ((__m512i) __builtin_ia32_pslldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
1280 (__v16si)(__m512i)_mm512_setzero_si512 (),\
1284extern __inline __m512i
1285__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1286_mm512_sll_epi32 (__m512i
__A, __m128i
__B)
1288 return (__m512i) __builtin_ia32_pslld512_mask ((__v16si)
__A,
1291 _mm512_undefined_epi32 (),
1295extern __inline __m512i
1296__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1299 return (__m512i) __builtin_ia32_pslld512_mask ((__v16si)
__A,
1305extern __inline __m512i
1306__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1309 return (__m512i) __builtin_ia32_pslld512_mask ((__v16si)
__A,
1312 _mm512_setzero_si512 (),
1317extern __inline __m512i
1318__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1321 return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si)
__A,
__B,
1323 _mm512_undefined_epi32 (),
1327extern __inline __m512i
1328__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1330 __m512i
__A,
unsigned int __B)
1332 return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si)
__A,
__B,
1337extern __inline __m512i
1338__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1341 return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si)
__A,
__B,
1343 _mm512_setzero_si512 (),
1347#define _mm512_srli_epi32(X, C) \
1348 ((__m512i) __builtin_ia32_psrldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
1349 (__v16si)(__m512i)_mm512_undefined_epi32 (),\
1352#define _mm512_mask_srli_epi32(W, U, X, C) \
1353 ((__m512i) __builtin_ia32_psrldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
1354 (__v16si)(__m512i)(W),\
1357#define _mm512_maskz_srli_epi32(U, X, C) \
1358 ((__m512i) __builtin_ia32_psrldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
1359 (__v16si)(__m512i)_mm512_setzero_si512 (),\
1363extern __inline __m512i
1364__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1365_mm512_srl_epi32 (__m512i
__A, __m128i
__B)
1367 return (__m512i) __builtin_ia32_psrld512_mask ((__v16si)
__A,
1370 _mm512_undefined_epi32 (),
1374extern __inline __m512i
1375__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1378 return (__m512i) __builtin_ia32_psrld512_mask ((__v16si)
__A,
1384extern __inline __m512i
1385__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1388 return (__m512i) __builtin_ia32_psrld512_mask ((__v16si)
__A,
1391 _mm512_setzero_si512 (),
1396extern __inline __m512i
1397__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1400 return (__m512i) __builtin_ia32_psradi512_mask ((__v16si)
__A,
__B,
1402 _mm512_undefined_epi32 (),
1406extern __inline __m512i
1407__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1411 return (__m512i) __builtin_ia32_psradi512_mask ((__v16si)
__A,
__B,
1416extern __inline __m512i
1417__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1420 return (__m512i) __builtin_ia32_psradi512_mask ((__v16si)
__A,
__B,
1422 _mm512_setzero_si512 (),
1426#define _mm512_srai_epi32(X, C) \
1427 ((__m512i) __builtin_ia32_psradi512_mask ((__v16si)(__m512i)(X), (int)(C),\
1428 (__v16si)(__m512i)_mm512_undefined_epi32 (),\
1431#define _mm512_mask_srai_epi32(W, U, X, C) \
1432 ((__m512i) __builtin_ia32_psradi512_mask ((__v16si)(__m512i)(X), (int)(C),\
1433 (__v16si)(__m512i)(W),\
1436#define _mm512_maskz_srai_epi32(U, X, C) \
1437 ((__m512i) __builtin_ia32_psradi512_mask ((__v16si)(__m512i)(X), (int)(C),\
1438 (__v16si)(__m512i)_mm512_setzero_si512 (),\
1442extern __inline __m512i
1443__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1444_mm512_sra_epi32 (__m512i
__A, __m128i
__B)
1446 return (__m512i) __builtin_ia32_psrad512_mask ((__v16si)
__A,
1449 _mm512_undefined_epi32 (),
1453extern __inline __m512i
1454__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1457 return (__m512i) __builtin_ia32_psrad512_mask ((__v16si)
__A,
1463extern __inline __m512i
1464__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1467 return (__m512i) __builtin_ia32_psrad512_mask ((__v16si)
__A,
1470 _mm512_setzero_si512 (),
1475extern __inline __m128d
1476__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1479 return (__m128d) __builtin_ia32_addsd_round ((__v2df)
__A,
1484extern __inline __m128d
1485__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1487 __m128d
__B,
const int __R)
1489 return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df)
__A,
1495extern __inline __m128d
1496__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1500 return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df)
__A,
1507extern __inline __m128
1508__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1511 return (__m128) __builtin_ia32_addss_round ((__v4sf)
__A,
1516extern __inline __m128
1517__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1519 __m128
__B,
const int __R)
1521 return (__m128) __builtin_ia32_addss_mask_round ((__v4sf)
__A,
1527extern __inline __m128
1528__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1532 return (__m128) __builtin_ia32_addss_mask_round ((__v4sf)
__A,
1539extern __inline __m128d
1540__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1543 return (__m128d) __builtin_ia32_subsd_round ((__v2df)
__A,
1548extern __inline __m128d
1549__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1551 __m128d
__B,
const int __R)
1553 return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df)
__A,
1559extern __inline __m128d
1560__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1564 return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df)
__A,
1571extern __inline __m128
1572__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1575 return (__m128) __builtin_ia32_subss_round ((__v4sf)
__A,
1580extern __inline __m128
1581__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1583 __m128
__B,
const int __R)
1585 return (__m128) __builtin_ia32_subss_mask_round ((__v4sf)
__A,
1591extern __inline __m128
1592__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1596 return (__m128) __builtin_ia32_subss_mask_round ((__v4sf)
__A,
1604#define _mm_add_round_sd(A, B, C) \
1605 (__m128d)__builtin_ia32_addsd_round(A, B, C)
1607#define _mm_mask_add_round_sd(W, U, A, B, C) \
1608 (__m128d)__builtin_ia32_addsd_mask_round(A, B, W, U, C)
1610#define _mm_maskz_add_round_sd(U, A, B, C) \
1611 (__m128d)__builtin_ia32_addsd_mask_round(A, B, (__v2df)_mm_setzero_pd(), U, C)
1613#define _mm_add_round_ss(A, B, C) \
1614 (__m128)__builtin_ia32_addss_round(A, B, C)
1616#define _mm_mask_add_round_ss(W, U, A, B, C) \
1617 (__m128)__builtin_ia32_addss_mask_round(A, B, W, U, C)
1619#define _mm_maskz_add_round_ss(U, A, B, C) \
1620 (__m128)__builtin_ia32_addss_mask_round(A, B, (__v4sf)_mm_setzero_ps(), U, C)
1622#define _mm_sub_round_sd(A, B, C) \
1623 (__m128d)__builtin_ia32_subsd_round(A, B, C)
1625#define _mm_mask_sub_round_sd(W, U, A, B, C) \
1626 (__m128d)__builtin_ia32_subsd_mask_round(A, B, W, U, C)
1628#define _mm_maskz_sub_round_sd(U, A, B, C) \
1629 (__m128d)__builtin_ia32_subsd_mask_round(A, B, (__v2df)_mm_setzero_pd(), U, C)
1631#define _mm_sub_round_ss(A, B, C) \
1632 (__m128)__builtin_ia32_subss_round(A, B, C)
1634#define _mm_mask_sub_round_ss(W, U, A, B, C) \
1635 (__m128)__builtin_ia32_subss_mask_round(A, B, W, U, C)
1637#define _mm_maskz_sub_round_ss(U, A, B, C) \
1638 (__m128)__builtin_ia32_subss_mask_round(A, B, (__v4sf)_mm_setzero_ps(), U, C)
1652extern __inline __m512i
1653__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1658 __builtin_ia32_pternlogq512_mask ((__v8di)
__A,
1661 (
unsigned char) __imm,
1665extern __inline __m512i
1666__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1668 __m512i
__C,
const int __imm)
1671 __builtin_ia32_pternlogq512_mask ((__v8di)
__A,
1674 (
unsigned char) __imm,
1678extern __inline __m512i
1679__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1681 __m512i
__C,
const int __imm)
1684 __builtin_ia32_pternlogq512_maskz ((__v8di)
__A,
1687 (
unsigned char) __imm,
1691extern __inline __m512i
1692__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1697 __builtin_ia32_pternlogd512_mask ((__v16si)
__A,
1700 (
unsigned char) __imm,
1704extern __inline __m512i
1705__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1707 __m512i
__C,
const int __imm)
1710 __builtin_ia32_pternlogd512_mask ((__v16si)
__A,
1713 (
unsigned char) __imm,
1717extern __inline __m512i
1718__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1720 __m512i
__C,
const int __imm)
1723 __builtin_ia32_pternlogd512_maskz ((__v16si)
__A,
1726 (
unsigned char) __imm,
1730#define _mm512_ternarylogic_epi64(A, B, C, I) \
1732 __builtin_ia32_pternlogq512_mask ((__v8di) (__m512i) (A), \
1733 (__v8di) (__m512i) (B), \
1734 (__v8di) (__m512i) (C), \
1735 (unsigned char) (I), \
1737#define _mm512_mask_ternarylogic_epi64(A, U, B, C, I) \
1739 __builtin_ia32_pternlogq512_mask ((__v8di) (__m512i) (A), \
1740 (__v8di) (__m512i) (B), \
1741 (__v8di) (__m512i) (C), \
1742 (unsigned char)(I), \
1744#define _mm512_maskz_ternarylogic_epi64(U, A, B, C, I) \
1746 __builtin_ia32_pternlogq512_maskz ((__v8di) (__m512i) (A), \
1747 (__v8di) (__m512i) (B), \
1748 (__v8di) (__m512i) (C), \
1749 (unsigned char) (I), \
1751#define _mm512_ternarylogic_epi32(A, B, C, I) \
1753 __builtin_ia32_pternlogd512_mask ((__v16si) (__m512i) (A), \
1754 (__v16si) (__m512i) (B), \
1755 (__v16si) (__m512i) (C), \
1756 (unsigned char) (I), \
1758#define _mm512_mask_ternarylogic_epi32(A, U, B, C, I) \
1760 __builtin_ia32_pternlogd512_mask ((__v16si) (__m512i) (A), \
1761 (__v16si) (__m512i) (B), \
1762 (__v16si) (__m512i) (C), \
1763 (unsigned char) (I), \
1765#define _mm512_maskz_ternarylogic_epi32(U, A, B, C, I) \
1767 __builtin_ia32_pternlogd512_maskz ((__v16si) (__m512i) (A), \
1768 (__v16si) (__m512i) (B), \
1769 (__v16si) (__m512i) (C), \
1770 (unsigned char) (I), \
1774extern __inline __m512d
1775__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1776_mm512_rcp14_pd (__m512d
__A)
1778 return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df)
__A,
1780 _mm512_undefined_pd (),
1784extern __inline __m512d
1785__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1788 return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df)
__A,
1793extern __inline __m512d
1794__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1797 return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df)
__A,
1799 _mm512_setzero_pd (),
1803extern __inline __m512
1804__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1805_mm512_rcp14_ps (__m512
__A)
1807 return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf)
__A,
1809 _mm512_undefined_ps (),
1813extern __inline __m512
1814__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1817 return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf)
__A,
1822extern __inline __m512
1823__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1826 return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf)
__A,
1828 _mm512_setzero_ps (),
1832extern __inline __m128d
1833__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1834_mm_rcp14_sd (__m128d
__A, __m128d
__B)
1836 return (__m128d) __builtin_ia32_rcp14sd ((__v2df)
__B,
1840extern __inline __m128d
1841__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1844 return (__m128d) __builtin_ia32_rcp14sd_mask ((__v2df)
__B,
1850extern __inline __m128d
1851__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1854 return (__m128d) __builtin_ia32_rcp14sd_mask ((__v2df)
__B,
1856 (__v2df) _mm_setzero_ps (),
1860extern __inline __m128
1861__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1862_mm_rcp14_ss (__m128
__A, __m128
__B)
1864 return (__m128) __builtin_ia32_rcp14ss ((__v4sf)
__B,
1868extern __inline __m128
1869__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1872 return (__m128) __builtin_ia32_rcp14ss_mask ((__v4sf)
__B,
1878extern __inline __m128
1879__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1882 return (__m128) __builtin_ia32_rcp14ss_mask ((__v4sf)
__B,
1884 (__v4sf) _mm_setzero_ps (),
1888extern __inline __m512d
1889__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1890_mm512_rsqrt14_pd (__m512d
__A)
1892 return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df)
__A,
1894 _mm512_undefined_pd (),
1898extern __inline __m512d
1899__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1902 return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df)
__A,
1907extern __inline __m512d
1908__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1911 return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df)
__A,
1913 _mm512_setzero_pd (),
1917extern __inline __m512
1918__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1919_mm512_rsqrt14_ps (__m512
__A)
1921 return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf)
__A,
1923 _mm512_undefined_ps (),
1927extern __inline __m512
1928__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1931 return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf)
__A,
1936extern __inline __m512
1937__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1940 return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf)
__A,
1942 _mm512_setzero_ps (),
1946extern __inline __m128d
1947__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1948_mm_rsqrt14_sd (__m128d
__A, __m128d
__B)
1950 return (__m128d) __builtin_ia32_rsqrt14sd ((__v2df)
__B,
1954extern __inline __m128d
1955__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1958 return (__m128d) __builtin_ia32_rsqrt14sd_mask ((__v2df)
__B,
1964extern __inline __m128d
1965__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1968 return (__m128d) __builtin_ia32_rsqrt14sd_mask ((__v2df)
__B,
1970 (__v2df) _mm_setzero_pd (),
1974extern __inline __m128
1975__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1976_mm_rsqrt14_ss (__m128
__A, __m128
__B)
1978 return (__m128) __builtin_ia32_rsqrt14ss ((__v4sf)
__B,
1982extern __inline __m128
1983__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1986 return (__m128) __builtin_ia32_rsqrt14ss_mask ((__v4sf)
__B,
1992extern __inline __m128
1993__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
1996 return (__m128) __builtin_ia32_rsqrt14ss_mask ((__v4sf)
__B,
1998 (__v4sf) _mm_setzero_ps (),
2003extern __inline __m512d
2004__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2007 return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df)
__A,
2009 _mm512_undefined_pd (),
2013extern __inline __m512d
2014__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2018 return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df)
__A,
2023extern __inline __m512d
2024__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2027 return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df)
__A,
2029 _mm512_setzero_pd (),
2033extern __inline __m512
2034__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2037 return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf)
__A,
2039 _mm512_undefined_ps (),
2043extern __inline __m512
2044__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2047 return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf)
__A,
2052extern __inline __m512
2053__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2056 return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf)
__A,
2058 _mm512_setzero_ps (),
2062extern __inline __m128d
2063__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2066 return (__m128d) __builtin_ia32_sqrtsd_mask_round ((__v2df)
__B,
2073extern __inline __m128d
2074__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2078 return (__m128d) __builtin_ia32_sqrtsd_mask_round ((__v2df)
__B,
2084extern __inline __m128d
2085__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2088 return (__m128d) __builtin_ia32_sqrtsd_mask_round ((__v2df)
__B,
2095extern __inline __m128
2096__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2099 return (__m128) __builtin_ia32_sqrtss_mask_round ((__v4sf)
__B,
2106extern __inline __m128
2107__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2111 return (__m128) __builtin_ia32_sqrtss_mask_round ((__v4sf)
__B,
2117extern __inline __m128
2118__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2121 return (__m128) __builtin_ia32_sqrtss_mask_round ((__v4sf)
__B,
2128#define _mm512_sqrt_round_pd(A, C) \
2129 (__m512d)__builtin_ia32_sqrtpd512_mask(A, (__v8df)_mm512_undefined_pd(), -1, C)
2131#define _mm512_mask_sqrt_round_pd(W, U, A, C) \
2132 (__m512d)__builtin_ia32_sqrtpd512_mask(A, W, U, C)
2134#define _mm512_maskz_sqrt_round_pd(U, A, C) \
2135 (__m512d)__builtin_ia32_sqrtpd512_mask(A, (__v8df)_mm512_setzero_pd(), U, C)
2137#define _mm512_sqrt_round_ps(A, C) \
2138 (__m512)__builtin_ia32_sqrtps512_mask(A, (__v16sf)_mm512_undefined_ps(), -1, C)
2140#define _mm512_mask_sqrt_round_ps(W, U, A, C) \
2141 (__m512)__builtin_ia32_sqrtps512_mask(A, W, U, C)
2143#define _mm512_maskz_sqrt_round_ps(U, A, C) \
2144 (__m512)__builtin_ia32_sqrtps512_mask(A, (__v16sf)_mm512_setzero_ps(), U, C)
2146#define _mm_sqrt_round_sd(A, B, C) \
2147 (__m128d)__builtin_ia32_sqrtsd_mask_round (B, A, \
2148 (__v2df) _mm_setzero_pd (), -1, C)
2150#define _mm_mask_sqrt_round_sd(W, U, A, B, C) \
2151 (__m128d)__builtin_ia32_sqrtsd_mask_round (B, A, W, U, C)
2153#define _mm_maskz_sqrt_round_sd(U, A, B, C) \
2154 (__m128d)__builtin_ia32_sqrtsd_mask_round (B, A, \
2155 (__v2df) _mm_setzero_pd (), U, C)
2157#define _mm_sqrt_round_ss(A, B, C) \
2158 (__m128)__builtin_ia32_sqrtss_mask_round (B, A, \
2159 (__v4sf) _mm_setzero_ps (), -1, C)
2161#define _mm_mask_sqrt_round_ss(W, U, A, B, C) \
2162 (__m128)__builtin_ia32_sqrtss_mask_round (B, A, W, U, C)
2164#define _mm_maskz_sqrt_round_ss(U, A, B, C) \
2165 (__m128)__builtin_ia32_sqrtss_mask_round (B, A, \
2166 (__v4sf) _mm_setzero_ps (), U, C)
2169#define _mm_mask_sqrt_sd(W, U, A, B) \
2170 _mm_mask_sqrt_round_sd ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
2172#define _mm_maskz_sqrt_sd(U, A, B) \
2173 _mm_maskz_sqrt_round_sd ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
2175#define _mm_mask_sqrt_ss(W, U, A, B) \
2176 _mm_mask_sqrt_round_ss ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
2178#define _mm_maskz_sqrt_ss(U, A, B) \
2179 _mm_maskz_sqrt_round_ss ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
2181extern __inline __m512i
2182__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2183_mm512_cvtepi8_epi32 (__m128i
__A)
2185 return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi)
__A,
2187 _mm512_undefined_epi32 (),
2191extern __inline __m512i
2192__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2195 return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi)
__A,
2200extern __inline __m512i
2201__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2204 return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi)
__A,
2206 _mm512_setzero_si512 (),
2210extern __inline __m512i
2211__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2212_mm512_cvtepi8_epi64 (__m128i
__A)
2214 return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi)
__A,
2216 _mm512_undefined_epi32 (),
2220extern __inline __m512i
2221__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2224 return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi)
__A,
2229extern __inline __m512i
2230__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2233 return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi)
__A,
2235 _mm512_setzero_si512 (),
2239extern __inline __m512i
2240__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2241_mm512_cvtepi16_epi32 (__m256i
__A)
2243 return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi)
__A,
2245 _mm512_undefined_epi32 (),
2249extern __inline __m512i
2250__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2253 return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi)
__A,
2258extern __inline __m512i
2259__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2262 return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi)
__A,
2264 _mm512_setzero_si512 (),
2268extern __inline __m512i
2269__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2270_mm512_cvtepi16_epi64 (__m128i
__A)
2272 return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi)
__A,
2274 _mm512_undefined_epi32 (),
2278extern __inline __m512i
2279__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2282 return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi)
__A,
2287extern __inline __m512i
2288__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2291 return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi)
__A,
2293 _mm512_setzero_si512 (),
2297extern __inline __m512i
2298__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2299_mm512_cvtepi32_epi64 (__m256i
__X)
2301 return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si)
__X,
2303 _mm512_undefined_epi32 (),
2307extern __inline __m512i
2308__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2311 return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si)
__X,
2316extern __inline __m512i
2317__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2320 return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si)
__X,
2322 _mm512_setzero_si512 (),
2326extern __inline __m512i
2327__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2328_mm512_cvtepu8_epi32 (__m128i
__A)
2330 return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi)
__A,
2332 _mm512_undefined_epi32 (),
2336extern __inline __m512i
2337__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2340 return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi)
__A,
2345extern __inline __m512i
2346__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2349 return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi)
__A,
2351 _mm512_setzero_si512 (),
2355extern __inline __m512i
2356__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2357_mm512_cvtepu8_epi64 (__m128i
__A)
2359 return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi)
__A,
2361 _mm512_undefined_epi32 (),
2365extern __inline __m512i
2366__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2369 return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi)
__A,
2374extern __inline __m512i
2375__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2378 return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi)
__A,
2380 _mm512_setzero_si512 (),
2384extern __inline __m512i
2385__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2386_mm512_cvtepu16_epi32 (__m256i
__A)
2388 return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi)
__A,
2390 _mm512_undefined_epi32 (),
2394extern __inline __m512i
2395__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2398 return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi)
__A,
2403extern __inline __m512i
2404__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2407 return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi)
__A,
2409 _mm512_setzero_si512 (),
2413extern __inline __m512i
2414__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2415_mm512_cvtepu16_epi64 (__m128i
__A)
2417 return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi)
__A,
2419 _mm512_undefined_epi32 (),
2423extern __inline __m512i
2424__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2427 return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi)
__A,
2432extern __inline __m512i
2433__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2436 return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi)
__A,
2438 _mm512_setzero_si512 (),
2442extern __inline __m512i
2443__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2444_mm512_cvtepu32_epi64 (__m256i
__X)
2446 return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si)
__X,
2448 _mm512_undefined_epi32 (),
2452extern __inline __m512i
2453__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2456 return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si)
__X,
2461extern __inline __m512i
2462__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2465 return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si)
__X,
2467 _mm512_setzero_si512 (),
2472extern __inline __m512d
2473__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2476 return (__m512d) __builtin_ia32_addpd512_mask ((__v8df)
__A,
2479 _mm512_undefined_pd (),
2483extern __inline __m512d
2484__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2486 __m512d
__B,
const int __R)
2488 return (__m512d) __builtin_ia32_addpd512_mask ((__v8df)
__A,
2494extern __inline __m512d
2495__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2499 return (__m512d) __builtin_ia32_addpd512_mask ((__v8df)
__A,
2502 _mm512_setzero_pd (),
2506extern __inline __m512
2507__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2510 return (__m512) __builtin_ia32_addps512_mask ((__v16sf)
__A,
2513 _mm512_undefined_ps (),
2517extern __inline __m512
2518__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2520 __m512
__B,
const int __R)
2522 return (__m512) __builtin_ia32_addps512_mask ((__v16sf)
__A,
2528extern __inline __m512
2529__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2532 return (__m512) __builtin_ia32_addps512_mask ((__v16sf)
__A,
2535 _mm512_setzero_ps (),
2539extern __inline __m512d
2540__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2543 return (__m512d) __builtin_ia32_subpd512_mask ((__v8df)
__A,
2546 _mm512_undefined_pd (),
2550extern __inline __m512d
2551__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2553 __m512d
__B,
const int __R)
2555 return (__m512d) __builtin_ia32_subpd512_mask ((__v8df)
__A,
2561extern __inline __m512d
2562__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2566 return (__m512d) __builtin_ia32_subpd512_mask ((__v8df)
__A,
2569 _mm512_setzero_pd (),
2573extern __inline __m512
2574__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2577 return (__m512) __builtin_ia32_subps512_mask ((__v16sf)
__A,
2580 _mm512_undefined_ps (),
2584extern __inline __m512
2585__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2587 __m512
__B,
const int __R)
2589 return (__m512) __builtin_ia32_subps512_mask ((__v16sf)
__A,
2595extern __inline __m512
2596__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2599 return (__m512) __builtin_ia32_subps512_mask ((__v16sf)
__A,
2602 _mm512_setzero_ps (),
2606#define _mm512_add_round_pd(A, B, C) \
2607 (__m512d)__builtin_ia32_addpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
2609#define _mm512_mask_add_round_pd(W, U, A, B, C) \
2610 (__m512d)__builtin_ia32_addpd512_mask(A, B, W, U, C)
2612#define _mm512_maskz_add_round_pd(U, A, B, C) \
2613 (__m512d)__builtin_ia32_addpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
2615#define _mm512_add_round_ps(A, B, C) \
2616 (__m512)__builtin_ia32_addps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
2618#define _mm512_mask_add_round_ps(W, U, A, B, C) \
2619 (__m512)__builtin_ia32_addps512_mask(A, B, W, U, C)
2621#define _mm512_maskz_add_round_ps(U, A, B, C) \
2622 (__m512)__builtin_ia32_addps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
2624#define _mm512_sub_round_pd(A, B, C) \
2625 (__m512d)__builtin_ia32_subpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
2627#define _mm512_mask_sub_round_pd(W, U, A, B, C) \
2628 (__m512d)__builtin_ia32_subpd512_mask(A, B, W, U, C)
2630#define _mm512_maskz_sub_round_pd(U, A, B, C) \
2631 (__m512d)__builtin_ia32_subpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
2633#define _mm512_sub_round_ps(A, B, C) \
2634 (__m512)__builtin_ia32_subps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
2636#define _mm512_mask_sub_round_ps(W, U, A, B, C) \
2637 (__m512)__builtin_ia32_subps512_mask(A, B, W, U, C)
2639#define _mm512_maskz_sub_round_ps(U, A, B, C) \
2640 (__m512)__builtin_ia32_subps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
2644extern __inline __m512d
2645__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2648 return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df)
__A,
2651 _mm512_undefined_pd (),
2655extern __inline __m512d
2656__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2658 __m512d
__B,
const int __R)
2660 return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df)
__A,
2666extern __inline __m512d
2667__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2671 return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df)
__A,
2674 _mm512_setzero_pd (),
2678extern __inline __m512
2679__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2682 return (__m512) __builtin_ia32_mulps512_mask ((__v16sf)
__A,
2685 _mm512_undefined_ps (),
2689extern __inline __m512
2690__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2692 __m512
__B,
const int __R)
2694 return (__m512) __builtin_ia32_mulps512_mask ((__v16sf)
__A,
2700extern __inline __m512
2701__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2704 return (__m512) __builtin_ia32_mulps512_mask ((__v16sf)
__A,
2707 _mm512_setzero_ps (),
2711extern __inline __m512d
2712__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2715 return (__m512d) __builtin_ia32_divpd512_mask ((__v8df)
__M,
2718 _mm512_undefined_pd (),
2722extern __inline __m512d
2723__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2725 __m512d
__V,
const int __R)
2727 return (__m512d) __builtin_ia32_divpd512_mask ((__v8df)
__M,
2733extern __inline __m512d
2734__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2738 return (__m512d) __builtin_ia32_divpd512_mask ((__v8df)
__M,
2741 _mm512_setzero_pd (),
2745extern __inline __m512
2746__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2749 return (__m512) __builtin_ia32_divps512_mask ((__v16sf)
__A,
2752 _mm512_undefined_ps (),
2756extern __inline __m512
2757__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2759 __m512
__B,
const int __R)
2761 return (__m512) __builtin_ia32_divps512_mask ((__v16sf)
__A,
2767extern __inline __m512
2768__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2771 return (__m512) __builtin_ia32_divps512_mask ((__v16sf)
__A,
2774 _mm512_setzero_ps (),
2778extern __inline __m128d
2779__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2782 return (__m128d) __builtin_ia32_mulsd_round ((__v2df)
__A,
2787extern __inline __m128d
2788__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2790 __m128d
__B,
const int __R)
2792 return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df)
__A,
2798extern __inline __m128d
2799__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2803 return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df)
__A,
2810extern __inline __m128
2811__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2814 return (__m128) __builtin_ia32_mulss_round ((__v4sf)
__A,
2819extern __inline __m128
2820__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2822 __m128
__B,
const int __R)
2824 return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf)
__A,
2830extern __inline __m128
2831__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2835 return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf)
__A,
2842extern __inline __m128d
2843__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2846 return (__m128d) __builtin_ia32_divsd_round ((__v2df)
__A,
2851extern __inline __m128d
2852__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2854 __m128d
__B,
const int __R)
2856 return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df)
__A,
2862extern __inline __m128d
2863__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2867 return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df)
__A,
2874extern __inline __m128
2875__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2878 return (__m128) __builtin_ia32_divss_round ((__v4sf)
__A,
2883extern __inline __m128
2884__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2886 __m128
__B,
const int __R)
2888 return (__m128) __builtin_ia32_divss_mask_round ((__v4sf)
__A,
2894extern __inline __m128
2895__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2899 return (__m128) __builtin_ia32_divss_mask_round ((__v4sf)
__A,
2907#define _mm512_mul_round_pd(A, B, C) \
2908 (__m512d)__builtin_ia32_mulpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
2910#define _mm512_mask_mul_round_pd(W, U, A, B, C) \
2911 (__m512d)__builtin_ia32_mulpd512_mask(A, B, W, U, C)
2913#define _mm512_maskz_mul_round_pd(U, A, B, C) \
2914 (__m512d)__builtin_ia32_mulpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
2916#define _mm512_mul_round_ps(A, B, C) \
2917 (__m512)__builtin_ia32_mulps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
2919#define _mm512_mask_mul_round_ps(W, U, A, B, C) \
2920 (__m512)__builtin_ia32_mulps512_mask(A, B, W, U, C)
2922#define _mm512_maskz_mul_round_ps(U, A, B, C) \
2923 (__m512)__builtin_ia32_mulps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
2925#define _mm512_div_round_pd(A, B, C) \
2926 (__m512d)__builtin_ia32_divpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
2928#define _mm512_mask_div_round_pd(W, U, A, B, C) \
2929 (__m512d)__builtin_ia32_divpd512_mask(A, B, W, U, C)
2931#define _mm512_maskz_div_round_pd(U, A, B, C) \
2932 (__m512d)__builtin_ia32_divpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
2934#define _mm512_div_round_ps(A, B, C) \
2935 (__m512)__builtin_ia32_divps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
2937#define _mm512_mask_div_round_ps(W, U, A, B, C) \
2938 (__m512)__builtin_ia32_divps512_mask(A, B, W, U, C)
2940#define _mm512_maskz_div_round_ps(U, A, B, C) \
2941 (__m512)__builtin_ia32_divps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
2943#define _mm_mul_round_sd(A, B, C) \
2944 (__m128d)__builtin_ia32_mulsd_round(A, B, C)
2946#define _mm_mask_mul_round_sd(W, U, A, B, C) \
2947 (__m128d)__builtin_ia32_mulsd_mask_round(A, B, W, U, C)
2949#define _mm_maskz_mul_round_sd(U, A, B, C) \
2950 (__m128d)__builtin_ia32_mulsd_mask_round(A, B, (__v2df)_mm_setzero_pd(), U, C)
2952#define _mm_mul_round_ss(A, B, C) \
2953 (__m128)__builtin_ia32_mulss_round(A, B, C)
2955#define _mm_mask_mul_round_ss(W, U, A, B, C) \
2956 (__m128)__builtin_ia32_mulss_mask_round(A, B, W, U, C)
2958#define _mm_maskz_mul_round_ss(U, A, B, C) \
2959 (__m128)__builtin_ia32_mulss_mask_round(A, B, (__v4sf)_mm_setzero_ps(), U, C)
2961#define _mm_div_round_sd(A, B, C) \
2962 (__m128d)__builtin_ia32_divsd_round(A, B, C)
2964#define _mm_mask_div_round_sd(W, U, A, B, C) \
2965 (__m128d)__builtin_ia32_divsd_mask_round(A, B, W, U, C)
2967#define _mm_maskz_div_round_sd(U, A, B, C) \
2968 (__m128d)__builtin_ia32_divsd_mask_round(A, B, (__v2df)_mm_setzero_pd(), U, C)
2970#define _mm_div_round_ss(A, B, C) \
2971 (__m128)__builtin_ia32_divss_round(A, B, C)
2973#define _mm_mask_div_round_ss(W, U, A, B, C) \
2974 (__m128)__builtin_ia32_divss_mask_round(A, B, W, U, C)
2976#define _mm_maskz_div_round_ss(U, A, B, C) \
2977 (__m128)__builtin_ia32_divss_mask_round(A, B, (__v4sf)_mm_setzero_ps(), U, C)
2982extern __inline __m512d
2983__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2986 return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df)
__A,
2989 _mm512_undefined_pd (),
2993extern __inline __m512d
2994__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2996 __m512d
__B,
const int __R)
2998 return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df)
__A,
3004extern __inline __m512d
3005__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3009 return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df)
__A,
3012 _mm512_setzero_pd (),
3016extern __inline __m512
3017__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3020 return (__m512) __builtin_ia32_maxps512_mask ((__v16sf)
__A,
3023 _mm512_undefined_ps (),
3027extern __inline __m512
3028__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3030 __m512
__B,
const int __R)
3032 return (__m512) __builtin_ia32_maxps512_mask ((__v16sf)
__A,
3038extern __inline __m512
3039__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3042 return (__m512) __builtin_ia32_maxps512_mask ((__v16sf)
__A,
3045 _mm512_setzero_ps (),
3049extern __inline __m512d
3050__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3053 return (__m512d) __builtin_ia32_minpd512_mask ((__v8df)
__A,
3056 _mm512_undefined_pd (),
3060extern __inline __m512d
3061__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3063 __m512d
__B,
const int __R)
3065 return (__m512d) __builtin_ia32_minpd512_mask ((__v8df)
__A,
3071extern __inline __m512d
3072__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3076 return (__m512d) __builtin_ia32_minpd512_mask ((__v8df)
__A,
3079 _mm512_setzero_pd (),
3083extern __inline __m512
3084__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3087 return (__m512) __builtin_ia32_minps512_mask ((__v16sf)
__A,
3090 _mm512_undefined_ps (),
3094extern __inline __m512
3095__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3097 __m512
__B,
const int __R)
3099 return (__m512) __builtin_ia32_minps512_mask ((__v16sf)
__A,
3105extern __inline __m512
3106__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3109 return (__m512) __builtin_ia32_minps512_mask ((__v16sf)
__A,
3112 _mm512_setzero_ps (),
3116#define _mm512_max_round_pd(A, B, R) \
3117 (__m512d)__builtin_ia32_maxpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, R)
3119#define _mm512_mask_max_round_pd(W, U, A, B, R) \
3120 (__m512d)__builtin_ia32_maxpd512_mask(A, B, W, U, R)
3122#define _mm512_maskz_max_round_pd(U, A, B, R) \
3123 (__m512d)__builtin_ia32_maxpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, R)
3125#define _mm512_max_round_ps(A, B, R) \
3126 (__m512)__builtin_ia32_maxps512_mask(A, B, (__v16sf)_mm512_undefined_pd(), -1, R)
3128#define _mm512_mask_max_round_ps(W, U, A, B, R) \
3129 (__m512)__builtin_ia32_maxps512_mask(A, B, W, U, R)
3131#define _mm512_maskz_max_round_ps(U, A, B, R) \
3132 (__m512)__builtin_ia32_maxps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, R)
3134#define _mm512_min_round_pd(A, B, R) \
3135 (__m512d)__builtin_ia32_minpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, R)
3137#define _mm512_mask_min_round_pd(W, U, A, B, R) \
3138 (__m512d)__builtin_ia32_minpd512_mask(A, B, W, U, R)
3140#define _mm512_maskz_min_round_pd(U, A, B, R) \
3141 (__m512d)__builtin_ia32_minpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, R)
3143#define _mm512_min_round_ps(A, B, R) \
3144 (__m512)__builtin_ia32_minps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, R)
3146#define _mm512_mask_min_round_ps(W, U, A, B, R) \
3147 (__m512)__builtin_ia32_minps512_mask(A, B, W, U, R)
3149#define _mm512_maskz_min_round_ps(U, A, B, R) \
3150 (__m512)__builtin_ia32_minps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, R)
3154extern __inline __m512d
3155__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3158 return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df)
__A,
3161 _mm512_undefined_pd (),
3165extern __inline __m512d
3166__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3168 __m512d
__B,
const int __R)
3170 return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df)
__A,
3176extern __inline __m512d
3177__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3181 return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df)
__A,
3184 _mm512_setzero_pd (),
3188extern __inline __m512
3189__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3192 return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf)
__A,
3195 _mm512_undefined_ps (),
3199extern __inline __m512
3200__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3202 __m512
__B,
const int __R)
3204 return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf)
__A,
3210extern __inline __m512
3211__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3215 return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf)
__A,
3218 _mm512_setzero_ps (),
3222extern __inline __m128d
3223__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3226 return (__m128d) __builtin_ia32_scalefsd_mask_round ((__v2df)
__A,
3233extern __inline __m128d
3234__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3238 return (__m128d) __builtin_ia32_scalefsd_mask_round ((__v2df)
__A,
3244extern __inline __m128d
3245__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3249 return (__m128d) __builtin_ia32_scalefsd_mask_round ((__v2df)
__A,
3256extern __inline __m128
3257__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3260 return (__m128) __builtin_ia32_scalefss_mask_round ((__v4sf)
__A,
3267extern __inline __m128
3268__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3272 return (__m128) __builtin_ia32_scalefss_mask_round ((__v4sf)
__A,
3278extern __inline __m128
3279__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3282 return (__m128) __builtin_ia32_scalefss_mask_round ((__v4sf)
__A,
3289#define _mm512_scalef_round_pd(A, B, C) \
3291 __builtin_ia32_scalefpd512_mask((A), (B), \
3292 (__v8df) _mm512_undefined_pd(), \
3295#define _mm512_mask_scalef_round_pd(W, U, A, B, C) \
3296 ((__m512d) __builtin_ia32_scalefpd512_mask((A), (B), (W), (U), (C)))
3298#define _mm512_maskz_scalef_round_pd(U, A, B, C) \
3300 __builtin_ia32_scalefpd512_mask((A), (B), \
3301 (__v8df) _mm512_setzero_pd(), \
3304#define _mm512_scalef_round_ps(A, B, C) \
3306 __builtin_ia32_scalefps512_mask((A), (B), \
3307 (__v16sf) _mm512_undefined_ps(), \
3310#define _mm512_mask_scalef_round_ps(W, U, A, B, C) \
3311 ((__m512) __builtin_ia32_scalefps512_mask((A), (B), (W), (U), (C)))
3313#define _mm512_maskz_scalef_round_ps(U, A, B, C) \
3315 __builtin_ia32_scalefps512_mask((A), (B), \
3316 (__v16sf) _mm512_setzero_ps(), \
3319#define _mm_scalef_round_sd(A, B, C) \
3321 __builtin_ia32_scalefsd_mask_round ((A), (B), \
3322 (__v2df) _mm_undefined_pd (), \
3325#define _mm_scalef_round_ss(A, B, C) \
3327 __builtin_ia32_scalefss_mask_round ((A), (B), \
3328 (__v4sf) _mm_undefined_ps (), \
3331#define _mm_mask_scalef_round_sd(W, U, A, B, C) \
3333 __builtin_ia32_scalefsd_mask_round ((A), (B), (W), (U), (C)))
3335#define _mm_mask_scalef_round_ss(W, U, A, B, C) \
3337 __builtin_ia32_scalefss_mask_round ((A), (B), (W), (U), (C)))
3339#define _mm_maskz_scalef_round_sd(U, A, B, C) \
3341 __builtin_ia32_scalefsd_mask_round ((A), (B), \
3342 (__v2df) _mm_setzero_pd (), \
3345#define _mm_maskz_scalef_round_ss(U, A, B, C) \
3347 __builtin_ia32_scalefss_mask_round ((A), (B), \
3348 (__v4sf) _mm_setzero_ps (), \
3352#define _mm_mask_scalef_sd(W, U, A, B) \
3353 _mm_mask_scalef_round_sd ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
3355#define _mm_maskz_scalef_sd(U, A, B) \
3356 _mm_maskz_scalef_round_sd ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
3358#define _mm_mask_scalef_ss(W, U, A, B) \
3359 _mm_mask_scalef_round_ss ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
3361#define _mm_maskz_scalef_ss(U, A, B) \
3362 _mm_maskz_scalef_round_ss ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
3365extern __inline __m512d
3366__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3369 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df)
__A,
3375extern __inline __m512d
3376__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3378 __m512d
__C,
const int __R)
3380 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df)
__A,
3386extern __inline __m512d
3387__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3391 return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df)
__A,
3397extern __inline __m512d
3398__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3400 __m512d
__C,
const int __R)
3402 return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df)
__A,
3408extern __inline __m512
3409__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3412 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf)
__A,
3418extern __inline __m512
3419__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3421 __m512
__C,
const int __R)
3423 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf)
__A,
3429extern __inline __m512
3430__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3434 return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf)
__A,
3440extern __inline __m512
3441__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3443 __m512
__C,
const int __R)
3445 return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf)
__A,
3451extern __inline __m512d
3452__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3455 return (__m512d) __builtin_ia32_vfmsubpd512_mask ((__v8df)
__A,
3461extern __inline __m512d
3462__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3464 __m512d
__C,
const int __R)
3466 return (__m512d) __builtin_ia32_vfmsubpd512_mask ((__v8df)
__A,
3472extern __inline __m512d
3473__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3477 return (__m512d) __builtin_ia32_vfmsubpd512_mask3 ((__v8df)
__A,
3483extern __inline __m512d
3484__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3486 __m512d
__C,
const int __R)
3488 return (__m512d) __builtin_ia32_vfmsubpd512_maskz ((__v8df)
__A,
3494extern __inline __m512
3495__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3498 return (__m512) __builtin_ia32_vfmsubps512_mask ((__v16sf)
__A,
3504extern __inline __m512
3505__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3507 __m512
__C,
const int __R)
3509 return (__m512) __builtin_ia32_vfmsubps512_mask ((__v16sf)
__A,
3515extern __inline __m512
3516__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3520 return (__m512) __builtin_ia32_vfmsubps512_mask3 ((__v16sf)
__A,
3526extern __inline __m512
3527__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3529 __m512
__C,
const int __R)
3531 return (__m512) __builtin_ia32_vfmsubps512_maskz ((__v16sf)
__A,
3537extern __inline __m512d
3538__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3541 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df)
__A,
3547extern __inline __m512d
3548__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3550 __m512d
__C,
const int __R)
3552 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df)
__A,
3558extern __inline __m512d
3559__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3563 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask3 ((__v8df)
__A,
3569extern __inline __m512d
3570__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3572 __m512d
__C,
const int __R)
3574 return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df)
__A,
3580extern __inline __m512
3581__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3584 return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf)
__A,
3590extern __inline __m512
3591__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3593 __m512
__C,
const int __R)
3595 return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf)
__A,
3601extern __inline __m512
3602__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3606 return (__m512) __builtin_ia32_vfmaddsubps512_mask3 ((__v16sf)
__A,
3612extern __inline __m512
3613__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3615 __m512
__C,
const int __R)
3617 return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf)
__A,
3623extern __inline __m512d
3624__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3627 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df)
__A,
3633extern __inline __m512d
3634__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3636 __m512d
__C,
const int __R)
3638 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df)
__A,
3644extern __inline __m512d
3645__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3649 return (__m512d) __builtin_ia32_vfmsubaddpd512_mask3 ((__v8df)
__A,
3655extern __inline __m512d
3656__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3658 __m512d
__C,
const int __R)
3660 return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df)
__A,
3666extern __inline __m512
3667__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3670 return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf)
__A,
3676extern __inline __m512
3677__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3679 __m512
__C,
const int __R)
3681 return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf)
__A,
3687extern __inline __m512
3688__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3692 return (__m512) __builtin_ia32_vfmsubaddps512_mask3 ((__v16sf)
__A,
3698extern __inline __m512
3699__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3701 __m512
__C,
const int __R)
3703 return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf)
__A,
3709extern __inline __m512d
3710__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3713 return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df)
__A,
3719extern __inline __m512d
3720__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3722 __m512d
__C,
const int __R)
3724 return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df)
__A,
3730extern __inline __m512d
3731__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3735 return (__m512d) __builtin_ia32_vfnmaddpd512_mask3 ((__v8df)
__A,
3741extern __inline __m512d
3742__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3744 __m512d
__C,
const int __R)
3746 return (__m512d) __builtin_ia32_vfnmaddpd512_maskz ((__v8df)
__A,
3752extern __inline __m512
3753__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3756 return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf)
__A,
3762extern __inline __m512
3763__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3765 __m512
__C,
const int __R)
3767 return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf)
__A,
3773extern __inline __m512
3774__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3778 return (__m512) __builtin_ia32_vfnmaddps512_mask3 ((__v16sf)
__A,
3784extern __inline __m512
3785__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3787 __m512
__C,
const int __R)
3789 return (__m512) __builtin_ia32_vfnmaddps512_maskz ((__v16sf)
__A,
3795extern __inline __m512d
3796__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3799 return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df)
__A,
3805extern __inline __m512d
3806__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3808 __m512d
__C,
const int __R)
3810 return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df)
__A,
3816extern __inline __m512d
3817__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3821 return (__m512d) __builtin_ia32_vfnmsubpd512_mask3 ((__v8df)
__A,
3827extern __inline __m512d
3828__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3830 __m512d
__C,
const int __R)
3832 return (__m512d) __builtin_ia32_vfnmsubpd512_maskz ((__v8df)
__A,
3838extern __inline __m512
3839__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3842 return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf)
__A,
3848extern __inline __m512
3849__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3851 __m512
__C,
const int __R)
3853 return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf)
__A,
3859extern __inline __m512
3860__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3864 return (__m512) __builtin_ia32_vfnmsubps512_mask3 ((__v16sf)
__A,
3870extern __inline __m512
3871__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3873 __m512
__C,
const int __R)
3875 return (__m512) __builtin_ia32_vfnmsubps512_maskz ((__v16sf)
__A,
3881#define _mm512_fmadd_round_pd(A, B, C, R) \
3882 (__m512d)__builtin_ia32_vfmaddpd512_mask(A, B, C, -1, R)
3884#define _mm512_mask_fmadd_round_pd(A, U, B, C, R) \
3885 (__m512d)__builtin_ia32_vfmaddpd512_mask(A, B, C, U, R)
3887#define _mm512_mask3_fmadd_round_pd(A, B, C, U, R) \
3888 (__m512d)__builtin_ia32_vfmaddpd512_mask3(A, B, C, U, R)
3890#define _mm512_maskz_fmadd_round_pd(U, A, B, C, R) \
3891 (__m512d)__builtin_ia32_vfmaddpd512_maskz(A, B, C, U, R)
3893#define _mm512_fmadd_round_ps(A, B, C, R) \
3894 (__m512)__builtin_ia32_vfmaddps512_mask(A, B, C, -1, R)
3896#define _mm512_mask_fmadd_round_ps(A, U, B, C, R) \
3897 (__m512)__builtin_ia32_vfmaddps512_mask(A, B, C, U, R)
3899#define _mm512_mask3_fmadd_round_ps(A, B, C, U, R) \
3900 (__m512)__builtin_ia32_vfmaddps512_mask3(A, B, C, U, R)
3902#define _mm512_maskz_fmadd_round_ps(U, A, B, C, R) \
3903 (__m512)__builtin_ia32_vfmaddps512_maskz(A, B, C, U, R)
3905#define _mm512_fmsub_round_pd(A, B, C, R) \
3906 (__m512d)__builtin_ia32_vfmsubpd512_mask(A, B, C, -1, R)
3908#define _mm512_mask_fmsub_round_pd(A, U, B, C, R) \
3909 (__m512d)__builtin_ia32_vfmsubpd512_mask(A, B, C, U, R)
3911#define _mm512_mask3_fmsub_round_pd(A, B, C, U, R) \
3912 (__m512d)__builtin_ia32_vfmsubpd512_mask3(A, B, C, U, R)
3914#define _mm512_maskz_fmsub_round_pd(U, A, B, C, R) \
3915 (__m512d)__builtin_ia32_vfmsubpd512_maskz(A, B, C, U, R)
3917#define _mm512_fmsub_round_ps(A, B, C, R) \
3918 (__m512)__builtin_ia32_vfmsubps512_mask(A, B, C, -1, R)
3920#define _mm512_mask_fmsub_round_ps(A, U, B, C, R) \
3921 (__m512)__builtin_ia32_vfmsubps512_mask(A, B, C, U, R)
3923#define _mm512_mask3_fmsub_round_ps(A, B, C, U, R) \
3924 (__m512)__builtin_ia32_vfmsubps512_mask3(A, B, C, U, R)
3926#define _mm512_maskz_fmsub_round_ps(U, A, B, C, R) \
3927 (__m512)__builtin_ia32_vfmsubps512_maskz(A, B, C, U, R)
3929#define _mm512_fmaddsub_round_pd(A, B, C, R) \
3930 (__m512d)__builtin_ia32_vfmaddsubpd512_mask(A, B, C, -1, R)
3932#define _mm512_mask_fmaddsub_round_pd(A, U, B, C, R) \
3933 (__m512d)__builtin_ia32_vfmaddsubpd512_mask(A, B, C, U, R)
3935#define _mm512_mask3_fmaddsub_round_pd(A, B, C, U, R) \
3936 (__m512d)__builtin_ia32_vfmaddsubpd512_mask3(A, B, C, U, R)
3938#define _mm512_maskz_fmaddsub_round_pd(U, A, B, C, R) \
3939 (__m512d)__builtin_ia32_vfmaddsubpd512_maskz(A, B, C, U, R)
3941#define _mm512_fmaddsub_round_ps(A, B, C, R) \
3942 (__m512)__builtin_ia32_vfmaddsubps512_mask(A, B, C, -1, R)
3944#define _mm512_mask_fmaddsub_round_ps(A, U, B, C, R) \
3945 (__m512)__builtin_ia32_vfmaddsubps512_mask(A, B, C, U, R)
3947#define _mm512_mask3_fmaddsub_round_ps(A, B, C, U, R) \
3948 (__m512)__builtin_ia32_vfmaddsubps512_mask3(A, B, C, U, R)
3950#define _mm512_maskz_fmaddsub_round_ps(U, A, B, C, R) \
3951 (__m512)__builtin_ia32_vfmaddsubps512_maskz(A, B, C, U, R)
3953#define _mm512_fmsubadd_round_pd(A, B, C, R) \
3954 (__m512d)__builtin_ia32_vfmaddsubpd512_mask(A, B, -(C), -1, R)
3956#define _mm512_mask_fmsubadd_round_pd(A, U, B, C, R) \
3957 (__m512d)__builtin_ia32_vfmaddsubpd512_mask(A, B, -(C), U, R)
3959#define _mm512_mask3_fmsubadd_round_pd(A, B, C, U, R) \
3960 (__m512d)__builtin_ia32_vfmsubaddpd512_mask3(A, B, C, U, R)
3962#define _mm512_maskz_fmsubadd_round_pd(U, A, B, C, R) \
3963 (__m512d)__builtin_ia32_vfmaddsubpd512_maskz(A, B, -(C), U, R)
3965#define _mm512_fmsubadd_round_ps(A, B, C, R) \
3966 (__m512)__builtin_ia32_vfmaddsubps512_mask(A, B, -(C), -1, R)
3968#define _mm512_mask_fmsubadd_round_ps(A, U, B, C, R) \
3969 (__m512)__builtin_ia32_vfmaddsubps512_mask(A, B, -(C), U, R)
3971#define _mm512_mask3_fmsubadd_round_ps(A, B, C, U, R) \
3972 (__m512)__builtin_ia32_vfmsubaddps512_mask3(A, B, C, U, R)
3974#define _mm512_maskz_fmsubadd_round_ps(U, A, B, C, R) \
3975 (__m512)__builtin_ia32_vfmaddsubps512_maskz(A, B, -(C), U, R)
3977#define _mm512_fnmadd_round_pd(A, B, C, R) \
3978 (__m512d)__builtin_ia32_vfnmaddpd512_mask(A, B, C, -1, R)
3980#define _mm512_mask_fnmadd_round_pd(A, U, B, C, R) \
3981 (__m512d)__builtin_ia32_vfnmaddpd512_mask(A, B, C, U, R)
3983#define _mm512_mask3_fnmadd_round_pd(A, B, C, U, R) \
3984 (__m512d)__builtin_ia32_vfnmaddpd512_mask3(A, B, C, U, R)
3986#define _mm512_maskz_fnmadd_round_pd(U, A, B, C, R) \
3987 (__m512d)__builtin_ia32_vfnmaddpd512_maskz(A, B, C, U, R)
3989#define _mm512_fnmadd_round_ps(A, B, C, R) \
3990 (__m512)__builtin_ia32_vfnmaddps512_mask(A, B, C, -1, R)
3992#define _mm512_mask_fnmadd_round_ps(A, U, B, C, R) \
3993 (__m512)__builtin_ia32_vfnmaddps512_mask(A, B, C, U, R)
3995#define _mm512_mask3_fnmadd_round_ps(A, B, C, U, R) \
3996 (__m512)__builtin_ia32_vfnmaddps512_mask3(A, B, C, U, R)
3998#define _mm512_maskz_fnmadd_round_ps(U, A, B, C, R) \
3999 (__m512)__builtin_ia32_vfnmaddps512_maskz(A, B, C, U, R)
4001#define _mm512_fnmsub_round_pd(A, B, C, R) \
4002 (__m512d)__builtin_ia32_vfnmsubpd512_mask(A, B, C, -1, R)
4004#define _mm512_mask_fnmsub_round_pd(A, U, B, C, R) \
4005 (__m512d)__builtin_ia32_vfnmsubpd512_mask(A, B, C, U, R)
4007#define _mm512_mask3_fnmsub_round_pd(A, B, C, U, R) \
4008 (__m512d)__builtin_ia32_vfnmsubpd512_mask3(A, B, C, U, R)
4010#define _mm512_maskz_fnmsub_round_pd(U, A, B, C, R) \
4011 (__m512d)__builtin_ia32_vfnmsubpd512_maskz(A, B, C, U, R)
4013#define _mm512_fnmsub_round_ps(A, B, C, R) \
4014 (__m512)__builtin_ia32_vfnmsubps512_mask(A, B, C, -1, R)
4016#define _mm512_mask_fnmsub_round_ps(A, U, B, C, R) \
4017 (__m512)__builtin_ia32_vfnmsubps512_mask(A, B, C, U, R)
4019#define _mm512_mask3_fnmsub_round_ps(A, B, C, U, R) \
4020 (__m512)__builtin_ia32_vfnmsubps512_mask3(A, B, C, U, R)
4022#define _mm512_maskz_fnmsub_round_ps(U, A, B, C, R) \
4023 (__m512)__builtin_ia32_vfnmsubps512_maskz(A, B, C, U, R)
4026extern __inline __m512i
4027__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4028_mm512_abs_epi64 (__m512i
__A)
4030 return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di)
__A,
4032 _mm512_undefined_epi32 (),
4036extern __inline __m512i
4037__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4040 return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di)
__A,
4045extern __inline __m512i
4046__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4049 return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di)
__A,
4051 _mm512_setzero_si512 (),
4055extern __inline __m512i
4056__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4057_mm512_abs_epi32 (__m512i
__A)
4059 return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si)
__A,
4061 _mm512_undefined_epi32 (),
4065extern __inline __m512i
4066__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4069 return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si)
__A,
4074extern __inline __m512i
4075__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4078 return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si)
__A,
4080 _mm512_setzero_si512 (),
4084extern __inline __m512
4085__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4086_mm512_broadcastss_ps (__m128
__A)
4088 return (__m512) __builtin_ia32_broadcastss512 ((__v4sf)
__A,
4090 _mm512_undefined_ps (),
4094extern __inline __m512
4095__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4098 return (__m512) __builtin_ia32_broadcastss512 ((__v4sf)
__A,
4102extern __inline __m512
4103__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4106 return (__m512) __builtin_ia32_broadcastss512 ((__v4sf)
__A,
4108 _mm512_setzero_ps (),
4112extern __inline __m512d
4113__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4114_mm512_broadcastsd_pd (__m128d
__A)
4116 return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df)
__A,
4118 _mm512_undefined_pd (),
4122extern __inline __m512d
4123__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4126 return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df)
__A,
4130extern __inline __m512d
4131__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4134 return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df)
__A,
4136 _mm512_setzero_pd (),
4140extern __inline __m512i
4141__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4142_mm512_broadcastd_epi32 (__m128i
__A)
4144 return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si)
__A,
4146 _mm512_undefined_epi32 (),
4150extern __inline __m512i
4151__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4154 return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si)
__A,
4158extern __inline __m512i
4159__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4162 return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si)
__A,
4164 _mm512_setzero_si512 (),
4168extern __inline __m512i
4169__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4170_mm512_set1_epi32 (
int __A)
4172 return (__m512i)(__v16si)
4177extern __inline __m512i
4178__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4181 return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (
__A, (__v16si)
__O,
4185extern __inline __m512i
4186__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4190 __builtin_ia32_pbroadcastd512_gpr_mask (
__A,
4191 (__v16si) _mm512_setzero_si512 (),
4195extern __inline __m512i
4196__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4197_mm512_broadcastq_epi64 (__m128i
__A)
4199 return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di)
__A,
4201 _mm512_undefined_epi32 (),
4205extern __inline __m512i
4206__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4209 return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di)
__A,
4213extern __inline __m512i
4214__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4217 return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di)
__A,
4219 _mm512_setzero_si512 (),
4223extern __inline __m512i
4224__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4225_mm512_set1_epi64 (
long long __A)
4230extern __inline __m512i
4231__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4234 return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (
__A, (__v8di)
__O,
4238extern __inline __m512i
4239__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4243 __builtin_ia32_pbroadcastq512_gpr_mask (
__A,
4244 (__v8di) _mm512_setzero_si512 (),
4248extern __inline __m512
4249__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4250_mm512_broadcast_f32x4 (__m128
__A)
4252 return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf)
__A,
4254 _mm512_undefined_ps (),
4258extern __inline __m512
4259__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4262 return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf)
__A,
4267extern __inline __m512
4268__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4271 return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf)
__A,
4273 _mm512_setzero_ps (),
4277extern __inline __m512i
4278__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4279_mm512_broadcast_i32x4 (__m128i
__A)
4281 return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si)
__A,
4283 _mm512_undefined_epi32 (),
4287extern __inline __m512i
4288__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4291 return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si)
__A,
4296extern __inline __m512i
4297__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4300 return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si)
__A,
4302 _mm512_setzero_si512 (),
4306extern __inline __m512d
4307__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4308_mm512_broadcast_f64x4 (__m256d
__A)
4310 return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df)
__A,
4312 _mm512_undefined_pd (),
4316extern __inline __m512d
4317__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4320 return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df)
__A,
4325extern __inline __m512d
4326__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4329 return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df)
__A,
4331 _mm512_setzero_pd (),
4335extern __inline __m512i
4336__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4337_mm512_broadcast_i64x4 (__m256i
__A)
4339 return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di)
__A,
4341 _mm512_undefined_epi32 (),
4345extern __inline __m512i
4346__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4349 return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di)
__A,
4354extern __inline __m512i
4355__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4358 return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di)
__A,
4360 _mm512_setzero_si512 (),
4455extern __inline __m512i
4456__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4459 return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si)
__A,
4462 _mm512_undefined_epi32 (),
4466extern __inline __m512i
4467__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4471 return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si)
__A,
4477extern __inline __m512i
4478__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4481 return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si)
__A,
4484 _mm512_setzero_si512 (),
4488extern __inline __m512i
4489__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4492 return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)
__A,
4493 (__v8di)
__B, __imm,
4495 _mm512_undefined_epi32 (),
4499extern __inline __m512i
4500__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4502 __m512i
__B,
const int __imm)
4504 return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)
__A,
4505 (__v8di)
__B, __imm,
4510extern __inline __m512i
4511__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4515 return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)
__A,
4516 (__v8di)
__B, __imm,
4518 _mm512_setzero_si512 (),
4522extern __inline __m512i
4523__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4526 return (__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si)
__A,
4530 _mm512_undefined_epi32 (),
4534extern __inline __m512i
4535__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4537 __m512i
__B,
const int __imm)
4539 return (__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si)
__A,
4546extern __inline __m512i
4547__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4551 return (__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si)
__A,
4555 _mm512_setzero_si512 (),
4559extern __inline __m512d
4560__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4563 return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df)
__A,
4564 (__v8df)
__B, __imm,
4566 _mm512_undefined_pd (),
4570extern __inline __m512d
4571__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4573 __m512d
__B,
const int __imm)
4575 return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df)
__A,
4576 (__v8df)
__B, __imm,
4581extern __inline __m512d
4582__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4586 return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df)
__A,
4587 (__v8df)
__B, __imm,
4589 _mm512_setzero_pd (),
4593extern __inline __m512
4594__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4597 return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf)
__A,
4598 (__v16sf)
__B, __imm,
4600 _mm512_undefined_ps (),
4604extern __inline __m512
4605__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4607 __m512
__B,
const int __imm)
4609 return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf)
__A,
4610 (__v16sf)
__B, __imm,
4615extern __inline __m512
4616__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4620 return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf)
__A,
4621 (__v16sf)
__B, __imm,
4623 _mm512_setzero_ps (),
4628#define _mm512_shuffle_epi32(X, C) \
4629 ((__m512i) __builtin_ia32_pshufd512_mask ((__v16si)(__m512i)(X), (int)(C),\
4630 (__v16si)(__m512i)_mm512_undefined_epi32 (),\
4633#define _mm512_mask_shuffle_epi32(W, U, X, C) \
4634 ((__m512i) __builtin_ia32_pshufd512_mask ((__v16si)(__m512i)(X), (int)(C),\
4635 (__v16si)(__m512i)(W),\
4638#define _mm512_maskz_shuffle_epi32(U, X, C) \
4639 ((__m512i) __builtin_ia32_pshufd512_mask ((__v16si)(__m512i)(X), (int)(C),\
4640 (__v16si)(__m512i)_mm512_setzero_si512 (),\
4643#define _mm512_shuffle_i64x2(X, Y, C) \
4644 ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(X), \
4645 (__v8di)(__m512i)(Y), (int)(C),\
4646 (__v8di)(__m512i)_mm512_undefined_epi32 (),\
4649#define _mm512_mask_shuffle_i64x2(W, U, X, Y, C) \
4650 ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(X), \
4651 (__v8di)(__m512i)(Y), (int)(C),\
4652 (__v8di)(__m512i)(W),\
4655#define _mm512_maskz_shuffle_i64x2(U, X, Y, C) \
4656 ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(X), \
4657 (__v8di)(__m512i)(Y), (int)(C),\
4658 (__v8di)(__m512i)_mm512_setzero_si512 (),\
4661#define _mm512_shuffle_i32x4(X, Y, C) \
4662 ((__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si)(__m512i)(X), \
4663 (__v16si)(__m512i)(Y), (int)(C),\
4664 (__v16si)(__m512i)_mm512_undefined_epi32 (),\
4667#define _mm512_mask_shuffle_i32x4(W, U, X, Y, C) \
4668 ((__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si)(__m512i)(X), \
4669 (__v16si)(__m512i)(Y), (int)(C),\
4670 (__v16si)(__m512i)(W),\
4673#define _mm512_maskz_shuffle_i32x4(U, X, Y, C) \
4674 ((__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si)(__m512i)(X), \
4675 (__v16si)(__m512i)(Y), (int)(C),\
4676 (__v16si)(__m512i)_mm512_setzero_si512 (),\
4679#define _mm512_shuffle_f64x2(X, Y, C) \
4680 ((__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df)(__m512d)(X), \
4681 (__v8df)(__m512d)(Y), (int)(C),\
4682 (__v8df)(__m512d)_mm512_undefined_pd(),\
4685#define _mm512_mask_shuffle_f64x2(W, U, X, Y, C) \
4686 ((__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df)(__m512d)(X), \
4687 (__v8df)(__m512d)(Y), (int)(C),\
4688 (__v8df)(__m512d)(W),\
4691#define _mm512_maskz_shuffle_f64x2(U, X, Y, C) \
4692 ((__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df)(__m512d)(X), \
4693 (__v8df)(__m512d)(Y), (int)(C),\
4694 (__v8df)(__m512d)_mm512_setzero_pd(),\
4697#define _mm512_shuffle_f32x4(X, Y, C) \
4698 ((__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf)(__m512)(X), \
4699 (__v16sf)(__m512)(Y), (int)(C),\
4700 (__v16sf)(__m512)_mm512_undefined_ps(),\
4703#define _mm512_mask_shuffle_f32x4(W, U, X, Y, C) \
4704 ((__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf)(__m512)(X), \
4705 (__v16sf)(__m512)(Y), (int)(C),\
4706 (__v16sf)(__m512)(W),\
4709#define _mm512_maskz_shuffle_f32x4(U, X, Y, C) \
4710 ((__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf)(__m512)(X), \
4711 (__v16sf)(__m512)(Y), (int)(C),\
4712 (__v16sf)(__m512)_mm512_setzero_ps(),\
4716extern __inline __m512i
4717__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4718_mm512_rolv_epi32 (__m512i
__A, __m512i
__B)
4720 return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si)
__A,
4723 _mm512_undefined_epi32 (),
4727extern __inline __m512i
4728__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4731 return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si)
__A,
4737extern __inline __m512i
4738__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4741 return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si)
__A,
4744 _mm512_setzero_si512 (),
4748extern __inline __m512i
4749__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4750_mm512_rorv_epi32 (__m512i
__A, __m512i
__B)
4752 return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si)
__A,
4755 _mm512_undefined_epi32 (),
4759extern __inline __m512i
4760__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4763 return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si)
__A,
4769extern __inline __m512i
4770__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4773 return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si)
__A,
4776 _mm512_setzero_si512 (),
4780extern __inline __m512i
4781__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4782_mm512_rolv_epi64 (__m512i
__A, __m512i
__B)
4784 return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di)
__A,
4787 _mm512_undefined_epi32 (),
4791extern __inline __m512i
4792__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4795 return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di)
__A,
4801extern __inline __m512i
4802__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4805 return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di)
__A,
4808 _mm512_setzero_si512 (),
4812extern __inline __m512i
4813__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4814_mm512_rorv_epi64 (__m512i
__A, __m512i
__B)
4816 return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di)
__A,
4819 _mm512_undefined_epi32 (),
4823extern __inline __m512i
4824__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4827 return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di)
__A,
4833extern __inline __m512i
4834__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4837 return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di)
__A,
4840 _mm512_setzero_si512 (),
4845extern __inline __m256i
4846__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4849 return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df)
__A,
4851 _mm256_undefined_si256 (),
4855extern __inline __m256i
4856__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4860 return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df)
__A,
4865extern __inline __m256i
4866__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4869 return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df)
__A,
4871 _mm256_setzero_si256 (),
4875extern __inline __m256i
4876__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4879 return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df)
__A,
4881 _mm256_undefined_si256 (),
4885extern __inline __m256i
4886__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4890 return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df)
__A,
4895extern __inline __m256i
4896__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4899 return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df)
__A,
4901 _mm256_setzero_si256 (),
4905#define _mm512_cvtt_roundpd_epi32(A, B) \
4906 ((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
4908#define _mm512_mask_cvtt_roundpd_epi32(W, U, A, B) \
4909 ((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)(W), U, B))
4911#define _mm512_maskz_cvtt_roundpd_epi32(U, A, B) \
4912 ((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
4914#define _mm512_cvtt_roundpd_epu32(A, B) \
4915 ((__m256i)__builtin_ia32_cvttpd2udq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
4917#define _mm512_mask_cvtt_roundpd_epu32(W, U, A, B) \
4918 ((__m256i)__builtin_ia32_cvttpd2udq512_mask(A, (__v8si)(W), U, B))
4920#define _mm512_maskz_cvtt_roundpd_epu32(U, A, B) \
4921 ((__m256i)__builtin_ia32_cvttpd2udq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
4925extern __inline __m256i
4926__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4929 return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df)
__A,
4931 _mm256_undefined_si256 (),
4935extern __inline __m256i
4936__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4940 return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df)
__A,
4945extern __inline __m256i
4946__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4949 return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df)
__A,
4951 _mm256_setzero_si256 (),
4955extern __inline __m256i
4956__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4959 return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df)
__A,
4961 _mm256_undefined_si256 (),
4965extern __inline __m256i
4966__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4970 return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df)
__A,
4975extern __inline __m256i
4976__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
4979 return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df)
__A,
4981 _mm256_setzero_si256 (),
4985#define _mm512_cvt_roundpd_epi32(A, B) \
4986 ((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
4988#define _mm512_mask_cvt_roundpd_epi32(W, U, A, B) \
4989 ((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)(W), U, B))
4991#define _mm512_maskz_cvt_roundpd_epi32(U, A, B) \
4992 ((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
4994#define _mm512_cvt_roundpd_epu32(A, B) \
4995 ((__m256i)__builtin_ia32_cvtpd2udq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
4997#define _mm512_mask_cvt_roundpd_epu32(W, U, A, B) \
4998 ((__m256i)__builtin_ia32_cvtpd2udq512_mask(A, (__v8si)(W), U, B))
5000#define _mm512_maskz_cvt_roundpd_epu32(U, A, B) \
5001 ((__m256i)__builtin_ia32_cvtpd2udq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
5005extern __inline __m512i
5006__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5009 return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf)
__A,
5011 _mm512_undefined_epi32 (),
5015extern __inline __m512i
5016__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5020 return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf)
__A,
5025extern __inline __m512i
5026__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5029 return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf)
__A,
5031 _mm512_setzero_si512 (),
5035extern __inline __m512i
5036__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5039 return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf)
__A,
5041 _mm512_undefined_epi32 (),
5045extern __inline __m512i
5046__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5050 return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf)
__A,
5055extern __inline __m512i
5056__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5059 return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf)
__A,
5061 _mm512_setzero_si512 (),
5065#define _mm512_cvtt_roundps_epi32(A, B) \
5066 ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_undefined_epi32 (), -1, B))
5068#define _mm512_mask_cvtt_roundps_epi32(W, U, A, B) \
5069 ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)(W), U, B))
5071#define _mm512_maskz_cvtt_roundps_epi32(U, A, B) \
5072 ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
5074#define _mm512_cvtt_roundps_epu32(A, B) \
5075 ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)_mm512_undefined_epi32 (), -1, B))
5077#define _mm512_mask_cvtt_roundps_epu32(W, U, A, B) \
5078 ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)(W), U, B))
5080#define _mm512_maskz_cvtt_roundps_epu32(U, A, B) \
5081 ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
5085extern __inline __m512i
5086__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5089 return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf)
__A,
5091 _mm512_undefined_epi32 (),
5095extern __inline __m512i
5096__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5100 return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf)
__A,
5105extern __inline __m512i
5106__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5109 return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf)
__A,
5111 _mm512_setzero_si512 (),
5115extern __inline __m512i
5116__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5119 return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf)
__A,
5121 _mm512_undefined_epi32 (),
5125extern __inline __m512i
5126__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5130 return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf)
__A,
5135extern __inline __m512i
5136__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5139 return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf)
__A,
5141 _mm512_setzero_si512 (),
5145#define _mm512_cvt_roundps_epi32(A, B) \
5146 ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_undefined_epi32 (), -1, B))
5148#define _mm512_mask_cvt_roundps_epi32(W, U, A, B) \
5149 ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)(W), U, B))
5151#define _mm512_maskz_cvt_roundps_epi32(U, A, B) \
5152 ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
5154#define _mm512_cvt_roundps_epu32(A, B) \
5155 ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)_mm512_undefined_epi32 (), -1, B))
5157#define _mm512_mask_cvt_roundps_epu32(W, U, A, B) \
5158 ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)(W), U, B))
5160#define _mm512_maskz_cvt_roundps_epu32(U, A, B) \
5161 ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
5164extern __inline __m128d
5165__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5166_mm_cvtu32_sd (__m128d
__A,
unsigned __B)
5168 return (__m128d) __builtin_ia32_cvtusi2sd32 ((__v2df)
__A,
__B);
5173extern __inline __m128d
5174__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5175_mm_cvt_roundu64_sd (__m128d
__A,
unsigned long long __B,
const int __R)
5177 return (__m128d) __builtin_ia32_cvtusi2sd64 ((__v2df)
__A,
__B,
__R);
5180extern __inline __m128d
5181__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5182_mm_cvt_roundi64_sd (__m128d
__A,
long long __B,
const int __R)
5184 return (__m128d) __builtin_ia32_cvtsi2sd64 ((__v2df)
__A,
__B,
__R);
5187extern __inline __m128d
5188__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5189_mm_cvt_roundsi64_sd (__m128d
__A,
long long __B,
const int __R)
5191 return (__m128d) __builtin_ia32_cvtsi2sd64 ((__v2df)
__A,
__B,
__R);
5194#define _mm_cvt_roundu64_sd(A, B, C) \
5195 (__m128d)__builtin_ia32_cvtusi2sd64(A, B, C)
5197#define _mm_cvt_roundi64_sd(A, B, C) \
5198 (__m128d)__builtin_ia32_cvtsi2sd64(A, B, C)
5200#define _mm_cvt_roundsi64_sd(A, B, C) \
5201 (__m128d)__builtin_ia32_cvtsi2sd64(A, B, C)
5207extern __inline __m128
5208__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5211 return (__m128) __builtin_ia32_cvtusi2ss32 ((__v4sf)
__A,
__B,
__R);
5214extern __inline __m128
5215__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5218 return (__m128) __builtin_ia32_cvtsi2ss32 ((__v4sf)
__A,
__B,
__R);
5221extern __inline __m128
5222__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5225 return (__m128) __builtin_ia32_cvtsi2ss32 ((__v4sf)
__A,
__B,
__R);
5228#define _mm_cvt_roundu32_ss(A, B, C) \
5229 (__m128)__builtin_ia32_cvtusi2ss32(A, B, C)
5231#define _mm_cvt_roundi32_ss(A, B, C) \
5232 (__m128)__builtin_ia32_cvtsi2ss32(A, B, C)
5234#define _mm_cvt_roundsi32_ss(A, B, C) \
5235 (__m128)__builtin_ia32_cvtsi2ss32(A, B, C)
5240extern __inline __m128
5241__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5242_mm_cvt_roundu64_ss (__m128
__A,
unsigned long long __B,
const int __R)
5244 return (__m128) __builtin_ia32_cvtusi2ss64 ((__v4sf)
__A,
__B,
__R);
5247extern __inline __m128
5248__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5249_mm_cvt_roundsi64_ss (__m128
__A,
long long __B,
const int __R)
5251 return (__m128) __builtin_ia32_cvtsi2ss64 ((__v4sf)
__A,
__B,
__R);
5254extern __inline __m128
5255__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5256_mm_cvt_roundi64_ss (__m128
__A,
long long __B,
const int __R)
5258 return (__m128) __builtin_ia32_cvtsi2ss64 ((__v4sf)
__A,
__B,
__R);
5261#define _mm_cvt_roundu64_ss(A, B, C) \
5262 (__m128)__builtin_ia32_cvtusi2ss64(A, B, C)
5264#define _mm_cvt_roundi64_ss(A, B, C) \
5265 (__m128)__builtin_ia32_cvtsi2ss64(A, B, C)
5267#define _mm_cvt_roundsi64_ss(A, B, C) \
5268 (__m128)__builtin_ia32_cvtsi2ss64(A, B, C)
5273extern __inline __m128i
5274__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5275_mm512_cvtepi32_epi8 (__m512i
__A)
5277 return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si)
__A,
5279 _mm_undefined_si128 (),
5284__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5287 __builtin_ia32_pmovdb512mem_mask ((__v16qi *)
__P, (__v16si)
__A,
__M);
5290extern __inline __m128i
5291__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5294 return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si)
__A,
5298extern __inline __m128i
5299__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5302 return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si)
__A,
5304 _mm_setzero_si128 (),
5308extern __inline __m128i
5309__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5310_mm512_cvtsepi32_epi8 (__m512i
__A)
5312 return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si)
__A,
5314 _mm_undefined_si128 (),
5319__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5322 __builtin_ia32_pmovsdb512mem_mask ((__v16qi *)
__P, (__v16si)
__A,
__M);
5325extern __inline __m128i
5326__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5329 return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si)
__A,
5333extern __inline __m128i
5334__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5337 return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si)
__A,
5339 _mm_setzero_si128 (),
5343extern __inline __m128i
5344__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5345_mm512_cvtusepi32_epi8 (__m512i
__A)
5347 return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si)
__A,
5349 _mm_undefined_si128 (),
5354__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5357 __builtin_ia32_pmovusdb512mem_mask ((__v16qi *)
__P, (__v16si)
__A,
__M);
5360extern __inline __m128i
5361__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5364 return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si)
__A,
5369extern __inline __m128i
5370__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5373 return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si)
__A,
5375 _mm_setzero_si128 (),
5379extern __inline __m256i
5380__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5381_mm512_cvtepi32_epi16 (__m512i
__A)
5383 return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si)
__A,
5385 _mm256_undefined_si256 (),
5390__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5393 __builtin_ia32_pmovdw512mem_mask ((__v16hi *)
__P, (__v16si)
__A,
__M);
5396extern __inline __m256i
5397__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5400 return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si)
__A,
5404extern __inline __m256i
5405__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5408 return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si)
__A,
5410 _mm256_setzero_si256 (),
5414extern __inline __m256i
5415__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5416_mm512_cvtsepi32_epi16 (__m512i
__A)
5418 return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si)
__A,
5420 _mm256_undefined_si256 (),
5425__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5428 __builtin_ia32_pmovsdw512mem_mask ((__v16hi*)
__P, (__v16si)
__A,
__M);
5431extern __inline __m256i
5432__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5435 return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si)
__A,
5439extern __inline __m256i
5440__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5443 return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si)
__A,
5445 _mm256_setzero_si256 (),
5449extern __inline __m256i
5450__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5451_mm512_cvtusepi32_epi16 (__m512i
__A)
5453 return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si)
__A,
5455 _mm256_undefined_si256 (),
5460__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5463 __builtin_ia32_pmovusdw512mem_mask ((__v16hi*)
__P, (__v16si)
__A,
__M);
5466extern __inline __m256i
5467__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5470 return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si)
__A,
5475extern __inline __m256i
5476__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5479 return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si)
__A,
5481 _mm256_setzero_si256 (),
5485extern __inline __m256i
5486__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5487_mm512_cvtepi64_epi32 (__m512i
__A)
5489 return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di)
__A,
5491 _mm256_undefined_si256 (),
5496__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5499 __builtin_ia32_pmovqd512mem_mask ((__v8si *)
__P, (__v8di)
__A,
__M);
5502extern __inline __m256i
5503__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5506 return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di)
__A,
5510extern __inline __m256i
5511__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5514 return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di)
__A,
5516 _mm256_setzero_si256 (),
5520extern __inline __m256i
5521__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5522_mm512_cvtsepi64_epi32 (__m512i
__A)
5524 return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di)
__A,
5526 _mm256_undefined_si256 (),
5531__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5534 __builtin_ia32_pmovsqd512mem_mask ((__v8si *)
__P, (__v8di)
__A,
__M);
5537extern __inline __m256i
5538__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5541 return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di)
__A,
5545extern __inline __m256i
5546__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5549 return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di)
__A,
5551 _mm256_setzero_si256 (),
5555extern __inline __m256i
5556__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5557_mm512_cvtusepi64_epi32 (__m512i
__A)
5559 return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di)
__A,
5561 _mm256_undefined_si256 (),
5566__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5569 __builtin_ia32_pmovusqd512mem_mask ((__v8si*)
__P, (__v8di)
__A,
__M);
5572extern __inline __m256i
5573__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5576 return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di)
__A,
5580extern __inline __m256i
5581__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5584 return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di)
__A,
5586 _mm256_setzero_si256 (),
5590extern __inline __m128i
5591__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5592_mm512_cvtepi64_epi16 (__m512i
__A)
5594 return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di)
__A,
5596 _mm_undefined_si128 (),
5601__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5604 __builtin_ia32_pmovqw512mem_mask ((__v8hi *)
__P, (__v8di)
__A,
__M);
5607extern __inline __m128i
5608__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5611 return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di)
__A,
5615extern __inline __m128i
5616__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5619 return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di)
__A,
5621 _mm_setzero_si128 (),
5625extern __inline __m128i
5626__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5627_mm512_cvtsepi64_epi16 (__m512i
__A)
5629 return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di)
__A,
5631 _mm_undefined_si128 (),
5636__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5639 __builtin_ia32_pmovsqw512mem_mask ((__v8hi *)
__P, (__v8di)
__A,
__M);
5642extern __inline __m128i
5643__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5646 return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di)
__A,
5650extern __inline __m128i
5651__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5654 return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di)
__A,
5656 _mm_setzero_si128 (),
5660extern __inline __m128i
5661__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5662_mm512_cvtusepi64_epi16 (__m512i
__A)
5664 return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di)
__A,
5666 _mm_undefined_si128 (),
5671__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5674 __builtin_ia32_pmovusqw512mem_mask ((__v8hi*)
__P, (__v8di)
__A,
__M);
5677extern __inline __m128i
5678__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5681 return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di)
__A,
5685extern __inline __m128i
5686__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5689 return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di)
__A,
5691 _mm_setzero_si128 (),
5695extern __inline __m128i
5696__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5697_mm512_cvtepi64_epi8 (__m512i
__A)
5699 return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di)
__A,
5701 _mm_undefined_si128 (),
5706__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5709 __builtin_ia32_pmovqb512mem_mask ((
unsigned long long *)
__P,
5713extern __inline __m128i
5714__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5717 return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di)
__A,
5721extern __inline __m128i
5722__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5725 return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di)
__A,
5727 _mm_setzero_si128 (),
5731extern __inline __m128i
5732__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5733_mm512_cvtsepi64_epi8 (__m512i
__A)
5735 return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di)
__A,
5737 _mm_undefined_si128 (),
5742__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5745 __builtin_ia32_pmovsqb512mem_mask ((
unsigned long long *)
__P, (__v8di)
__A,
__M);
5748extern __inline __m128i
5749__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5752 return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di)
__A,
5756extern __inline __m128i
5757__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5760 return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di)
__A,
5762 _mm_setzero_si128 (),
5766extern __inline __m128i
5767__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5768_mm512_cvtusepi64_epi8 (__m512i
__A)
5770 return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di)
__A,
5772 _mm_undefined_si128 (),
5777__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5780 __builtin_ia32_pmovusqb512mem_mask ((
unsigned long long *)
__P, (__v8di)
__A,
__M);
5783extern __inline __m128i
5784__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5787 return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di)
__A,
5792extern __inline __m128i
5793__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5796 return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di)
__A,
5798 _mm_setzero_si128 (),
5802extern __inline __m512d
5803__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5804_mm512_cvtepi32_pd (__m256i
__A)
5806 return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si)
__A,
5808 _mm512_undefined_pd (),
5812extern __inline __m512d
5813__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5816 return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si)
__A,
5821extern __inline __m512d
5822__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5825 return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si)
__A,
5827 _mm512_setzero_pd (),
5831extern __inline __m512d
5832__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5833_mm512_cvtepu32_pd (__m256i
__A)
5835 return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si)
__A,
5837 _mm512_undefined_pd (),
5841extern __inline __m512d
5842__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5845 return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si)
__A,
5850extern __inline __m512d
5851__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5854 return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si)
__A,
5856 _mm512_setzero_pd (),
5861extern __inline __m512
5862__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5865 return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si)
__A,
5867 _mm512_undefined_ps (),
5871extern __inline __m512
5872__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5876 return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si)
__A,
5881extern __inline __m512
5882__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5885 return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si)
__A,
5887 _mm512_setzero_ps (),
5891extern __inline __m512
5892__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5895 return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si)
__A,
5897 _mm512_undefined_ps (),
5901extern __inline __m512
5902__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5906 return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si)
__A,
5911extern __inline __m512
5912__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5915 return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si)
__A,
5917 _mm512_setzero_ps (),
5922#define _mm512_cvt_roundepi32_ps(A, B) \
5923 (__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), (__v16sf)_mm512_undefined_ps(), -1, B)
5925#define _mm512_mask_cvt_roundepi32_ps(W, U, A, B) \
5926 (__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), W, U, B)
5928#define _mm512_maskz_cvt_roundepi32_ps(U, A, B) \
5929 (__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), (__v16sf)_mm512_setzero_ps(), U, B)
5931#define _mm512_cvt_roundepu32_ps(A, B) \
5932 (__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), (__v16sf)_mm512_undefined_ps(), -1, B)
5934#define _mm512_mask_cvt_roundepu32_ps(W, U, A, B) \
5935 (__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), W, U, B)
5937#define _mm512_maskz_cvt_roundepu32_ps(U, A, B) \
5938 (__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), (__v16sf)_mm512_setzero_ps(), U, B)
5942extern __inline __m256d
5943__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5946 return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)
__A,
5949 _mm256_undefined_pd (),
5953extern __inline __m256d
5954__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5958 return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)
__A,
5964extern __inline __m256d
5965__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5968 return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)
__A,
5971 _mm256_setzero_pd (),
5975extern __inline __m128
5976__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5979 return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)
__A,
5982 _mm_undefined_ps (),
5986extern __inline __m128
5987__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
5991 return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)
__A,
5997extern __inline __m128
5998__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6001 return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)
__A,
6008extern __inline __m256i
6009__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6012 return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)
__A,
6015 _mm256_undefined_si256 (),
6019extern __inline __m256i
6020__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6024 return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)
__A,
6030extern __inline __m256i
6031__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6034 return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)
__A,
6037 _mm256_setzero_si256 (),
6041extern __inline __m128i
6042__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6045 return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)
__A,
6048 _mm_undefined_si128 (),
6052extern __inline __m128i
6053__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6057 return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)
__A,
6063extern __inline __m128i
6064__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6067 return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)
__A,
6070 _mm_setzero_si128 (),
6075#define _mm512_extractf64x4_pd(X, C) \
6076 ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (X), \
6078 (__v4df)(__m256d)_mm256_undefined_pd(),\
6081#define _mm512_mask_extractf64x4_pd(W, U, X, C) \
6082 ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (X), \
6084 (__v4df)(__m256d)(W),\
6087#define _mm512_maskz_extractf64x4_pd(U, X, C) \
6088 ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (X), \
6090 (__v4df)(__m256d)_mm256_setzero_pd(),\
6093#define _mm512_extractf32x4_ps(X, C) \
6094 ((__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)(__m512) (X), \
6096 (__v4sf)(__m128)_mm_undefined_ps(),\
6099#define _mm512_mask_extractf32x4_ps(W, U, X, C) \
6100 ((__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)(__m512) (X), \
6102 (__v4sf)(__m128)(W),\
6105#define _mm512_maskz_extractf32x4_ps(U, X, C) \
6106 ((__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)(__m512) (X), \
6108 (__v4sf)(__m128)_mm_setzero_ps(),\
6111#define _mm512_extracti64x4_epi64(X, C) \
6112 ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (X), \
6114 (__v4di)(__m256i)_mm256_undefined_si256 (),\
6117#define _mm512_mask_extracti64x4_epi64(W, U, X, C) \
6118 ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (X), \
6120 (__v4di)(__m256i)(W),\
6123#define _mm512_maskz_extracti64x4_epi64(U, X, C) \
6124 ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (X), \
6126 (__v4di)(__m256i)_mm256_setzero_si256 (),\
6129#define _mm512_extracti32x4_epi32(X, C) \
6130 ((__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)(__m512i) (X), \
6132 (__v4si)(__m128i)_mm_undefined_si128 (),\
6135#define _mm512_mask_extracti32x4_epi32(W, U, X, C) \
6136 ((__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)(__m512i) (X), \
6138 (__v4si)(__m128i)(W),\
6141#define _mm512_maskz_extracti32x4_epi32(U, X, C) \
6142 ((__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)(__m512i) (X), \
6144 (__v4si)(__m128i)_mm_setzero_si128 (),\
6149extern __inline __m512i
6150__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6153 return (__m512i) __builtin_ia32_inserti32x4_mask ((__v16si)
__A,
6159extern __inline __m512
6160__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6163 return (__m512) __builtin_ia32_insertf32x4_mask ((__v16sf)
__A,
6169extern __inline __m512i
6170__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6173 return (__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)
__A,
6177 _mm512_undefined_epi32 (),
6181extern __inline __m512i
6182__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6184 __m256i
__B,
const int __imm)
6186 return (__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)
__A,
6193extern __inline __m512i
6194__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6198 return (__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)
__A,
6202 _mm512_setzero_si512 (),
6206extern __inline __m512d
6207__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6210 return (__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)
__A,
6214 _mm512_undefined_pd (),
6218extern __inline __m512d
6219__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6221 __m256d
__B,
const int __imm)
6223 return (__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)
__A,
6230extern __inline __m512d
6231__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6235 return (__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)
__A,
6239 _mm512_setzero_pd (),
6243#define _mm512_insertf32x4(X, Y, C) \
6244 ((__m512) __builtin_ia32_insertf32x4_mask ((__v16sf)(__m512) (X), \
6245 (__v4sf)(__m128) (Y), (int) (C), (__v16sf)(__m512) (X), (__mmask16)(-1)))
6247#define _mm512_inserti32x4(X, Y, C) \
6248 ((__m512i) __builtin_ia32_inserti32x4_mask ((__v16si)(__m512i) (X), \
6249 (__v4si)(__m128i) (Y), (int) (C), (__v16si)(__m512i) (X), (__mmask16)(-1)))
6251#define _mm512_insertf64x4(X, Y, C) \
6252 ((__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)(__m512d) (X), \
6253 (__v4df)(__m256d) (Y), (int) (C), \
6254 (__v8df)(__m512d)_mm512_undefined_pd(), \
6257#define _mm512_mask_insertf64x4(W, U, X, Y, C) \
6258 ((__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)(__m512d) (X), \
6259 (__v4df)(__m256d) (Y), (int) (C), \
6260 (__v8df)(__m512d)(W), \
6263#define _mm512_maskz_insertf64x4(U, X, Y, C) \
6264 ((__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)(__m512d) (X), \
6265 (__v4df)(__m256d) (Y), (int) (C), \
6266 (__v8df)(__m512d)_mm512_setzero_pd(), \
6269#define _mm512_inserti64x4(X, Y, C) \
6270 ((__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)(__m512i) (X), \
6271 (__v4di)(__m256i) (Y), (int) (C), \
6272 (__v8di)(__m512i)_mm512_undefined_epi32 (), \
6275#define _mm512_mask_inserti64x4(W, U, X, Y, C) \
6276 ((__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)(__m512i) (X), \
6277 (__v4di)(__m256i) (Y), (int) (C),\
6278 (__v8di)(__m512i)(W),\
6281#define _mm512_maskz_inserti64x4(U, X, Y, C) \
6282 ((__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)(__m512i) (X), \
6283 (__v4di)(__m256i) (Y), (int) (C), \
6284 (__v8di)(__m512i)_mm512_setzero_si512 (), \
6288extern __inline __m512d
6289__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6290_mm512_loadu_pd (
void const *
__P)
6292 return *(__m512d_u *)
__P;
6295extern __inline __m512d
6296__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6299 return (__m512d) __builtin_ia32_loadupd512_mask ((
const double *)
__P,
6304extern __inline __m512d
6305__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6308 return (__m512d) __builtin_ia32_loadupd512_mask ((
const double *)
__P,
6310 _mm512_setzero_pd (),
6315__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6316_mm512_storeu_pd (
void *
__P, __m512d
__A)
6322__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6325 __builtin_ia32_storeupd512_mask ((
double *)
__P, (__v8df)
__A,
6329extern __inline __m512
6330__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6331_mm512_loadu_ps (
void const *
__P)
6333 return *(__m512_u *)
__P;
6336extern __inline __m512
6337__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6340 return (__m512) __builtin_ia32_loadups512_mask ((
const float *)
__P,
6345extern __inline __m512
6346__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6349 return (__m512) __builtin_ia32_loadups512_mask ((
const float *)
__P,
6351 _mm512_setzero_ps (),
6356__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6357_mm512_storeu_ps (
void *
__P, __m512
__A)
6363__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6366 __builtin_ia32_storeups512_mask ((
float *)
__P, (__v16sf)
__A,
6370extern __inline __m128
6371__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6374 return (__m128) __builtin_ia32_loadss_mask (
__P, (__v4sf)
__W,
__U);
6377extern __inline __m128
6378__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6381 return (__m128) __builtin_ia32_loadss_mask (
__P, (__v4sf) _mm_setzero_ps (),
6385extern __inline __m128d
6386__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6389 return (__m128d) __builtin_ia32_loadsd_mask (
__P, (__v2df)
__W,
__U);
6392extern __inline __m128d
6393__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6396 return (__m128d) __builtin_ia32_loadsd_mask (
__P, (__v2df) _mm_setzero_pd (),
6400extern __inline __m128
6401__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6404 return (__m128) __builtin_ia32_movess_mask ((__v4sf)
__A, (__v4sf)
__B,
6408extern __inline __m128
6409__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6412 return (__m128) __builtin_ia32_movess_mask ((__v4sf)
__A, (__v4sf)
__B,
6413 (__v4sf) _mm_setzero_ps (),
__U);
6416extern __inline __m128d
6417__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6420 return (__m128d) __builtin_ia32_movesd_mask ((__v2df)
__A, (__v2df)
__B,
6424extern __inline __m128d
6425__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6428 return (__m128d) __builtin_ia32_movesd_mask ((__v2df)
__A, (__v2df)
__B,
6429 (__v2df) _mm_setzero_pd (),
6434__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6441__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6447extern __inline __m512i
6448__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6449_mm512_loadu_epi64 (
void const *
__P)
6451 return *(__m512i_u *)
__P;
6454extern __inline __m512i
6455__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6458 return (__m512i) __builtin_ia32_loaddqudi512_mask ((
const long long *)
__P,
6463extern __inline __m512i
6464__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6467 return (__m512i) __builtin_ia32_loaddqudi512_mask ((
const long long *)
__P,
6469 _mm512_setzero_si512 (),
6474__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6475_mm512_storeu_epi64 (
void *
__P, __m512i
__A)
6477 *(__m512i_u *)
__P = (__m512i_u)
__A;
6481__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6484 __builtin_ia32_storedqudi512_mask ((
long long *)
__P, (__v8di)
__A,
6488extern __inline __m512i
6489__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6490_mm512_loadu_si512 (
void const *
__P)
6492 return *(__m512i_u *)
__P;
6495extern __inline __m512i
6496__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6497_mm512_loadu_epi32 (
void const *
__P)
6499 return *(__m512i_u *)
__P;
6502extern __inline __m512i
6503__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6506 return (__m512i) __builtin_ia32_loaddqusi512_mask ((
const int *)
__P,
6511extern __inline __m512i
6512__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6515 return (__m512i) __builtin_ia32_loaddqusi512_mask ((
const int *)
__P,
6517 _mm512_setzero_si512 (),
6522__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6523_mm512_storeu_si512 (
void *
__P, __m512i
__A)
6529__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6530_mm512_storeu_epi32 (
void *
__P, __m512i
__A)
6532 *(__m512i_u *)
__P = (__m512i_u)
__A;
6536__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6539 __builtin_ia32_storedqusi512_mask ((
int *)
__P, (__v16si)
__A,
6543extern __inline __m512d
6544__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6545_mm512_permutevar_pd (__m512d
__A, __m512i
__C)
6547 return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df)
__A,
6550 _mm512_undefined_pd (),
6554extern __inline __m512d
6555__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6558 return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df)
__A,
6564extern __inline __m512d
6565__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6568 return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df)
__A,
6571 _mm512_setzero_pd (),
6575extern __inline __m512
6576__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6577_mm512_permutevar_ps (__m512
__A, __m512i
__C)
6579 return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf)
__A,
6582 _mm512_undefined_ps (),
6586extern __inline __m512
6587__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6590 return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf)
__A,
6596extern __inline __m512
6597__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6600 return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf)
__A,
6603 _mm512_setzero_ps (),
6607extern __inline __m512i
6608__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6609_mm512_permutex2var_epi64 (__m512i
__A, __m512i
__I, __m512i
__B)
6611 return (__m512i) __builtin_ia32_vpermt2varq512_mask ((__v8di)
__I
6618extern __inline __m512i
6619__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6623 return (__m512i) __builtin_ia32_vpermt2varq512_mask ((__v8di)
__I
6630extern __inline __m512i
6631__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6632_mm512_mask2_permutex2var_epi64 (__m512i
__A, __m512i
__I,
6635 return (__m512i) __builtin_ia32_vpermi2varq512_mask ((__v8di)
__A,
6642extern __inline __m512i
6643__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6645 __m512i
__I, __m512i
__B)
6647 return (__m512i) __builtin_ia32_vpermt2varq512_maskz ((__v8di)
__I
6654extern __inline __m512i
6655__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6656_mm512_permutex2var_epi32 (__m512i
__A, __m512i
__I, __m512i
__B)
6658 return (__m512i) __builtin_ia32_vpermt2vard512_mask ((__v16si)
__I
6665extern __inline __m512i
6666__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6668 __m512i
__I, __m512i
__B)
6670 return (__m512i) __builtin_ia32_vpermt2vard512_mask ((__v16si)
__I
6677extern __inline __m512i
6678__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6679_mm512_mask2_permutex2var_epi32 (__m512i
__A, __m512i
__I,
6682 return (__m512i) __builtin_ia32_vpermi2vard512_mask ((__v16si)
__A,
6689extern __inline __m512i
6690__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6692 __m512i
__I, __m512i
__B)
6694 return (__m512i) __builtin_ia32_vpermt2vard512_maskz ((__v16si)
__I
6701extern __inline __m512d
6702__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6703_mm512_permutex2var_pd (__m512d
__A, __m512i
__I, __m512d
__B)
6705 return (__m512d) __builtin_ia32_vpermt2varpd512_mask ((__v8di)
__I
6712extern __inline __m512d
6713__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6717 return (__m512d) __builtin_ia32_vpermt2varpd512_mask ((__v8di)
__I
6724extern __inline __m512d
6725__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6729 return (__m512d) __builtin_ia32_vpermi2varpd512_mask ((__v8df)
__A,
6736extern __inline __m512d
6737__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6741 return (__m512d) __builtin_ia32_vpermt2varpd512_maskz ((__v8di)
__I
6748extern __inline __m512
6749__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6750_mm512_permutex2var_ps (__m512
__A, __m512i
__I, __m512
__B)
6752 return (__m512) __builtin_ia32_vpermt2varps512_mask ((__v16si)
__I
6759extern __inline __m512
6760__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6763 return (__m512) __builtin_ia32_vpermt2varps512_mask ((__v16si)
__I
6770extern __inline __m512
6771__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6775 return (__m512) __builtin_ia32_vpermi2varps512_mask ((__v16sf)
__A,
6782extern __inline __m512
6783__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6787 return (__m512) __builtin_ia32_vpermt2varps512_maskz ((__v16si)
__I
6795extern __inline __m512d
6796__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6799 return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)
__X,
__C,
6801 _mm512_undefined_pd (),
6805extern __inline __m512d
6806__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6809 return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)
__X,
__C,
6814extern __inline __m512d
6815__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6818 return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)
__X,
__C,
6820 _mm512_setzero_pd (),
6824extern __inline __m512
6825__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6828 return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)
__X,
__C,
6830 _mm512_undefined_ps (),
6834extern __inline __m512
6835__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6838 return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)
__X,
__C,
6843extern __inline __m512
6844__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6847 return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)
__X,
__C,
6849 _mm512_setzero_ps (),
6853#define _mm512_permute_pd(X, C) \
6854 ((__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)(__m512d)(X), (int)(C), \
6855 (__v8df)(__m512d)_mm512_undefined_pd(),\
6858#define _mm512_mask_permute_pd(W, U, X, C) \
6859 ((__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)(__m512d)(X), (int)(C), \
6860 (__v8df)(__m512d)(W), \
6863#define _mm512_maskz_permute_pd(U, X, C) \
6864 ((__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)(__m512d)(X), (int)(C), \
6865 (__v8df)(__m512d)_mm512_setzero_pd(), \
6868#define _mm512_permute_ps(X, C) \
6869 ((__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)(__m512)(X), (int)(C), \
6870 (__v16sf)(__m512)_mm512_undefined_ps(),\
6873#define _mm512_mask_permute_ps(W, U, X, C) \
6874 ((__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)(__m512)(X), (int)(C), \
6875 (__v16sf)(__m512)(W), \
6878#define _mm512_maskz_permute_ps(U, X, C) \
6879 ((__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)(__m512)(X), (int)(C), \
6880 (__v16sf)(__m512)_mm512_setzero_ps(), \
6885extern __inline __m512i
6886__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6889 return (__m512i) __builtin_ia32_permdi512_mask ((__v8di)
__X,
__I,
6891 _mm512_undefined_epi32 (),
6895extern __inline __m512i
6896__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6898 __m512i
__X,
const int __I)
6900 return (__m512i) __builtin_ia32_permdi512_mask ((__v8di)
__X,
__I,
6905extern __inline __m512i
6906__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6909 return (__m512i) __builtin_ia32_permdi512_mask ((__v8di)
__X,
__I,
6911 _mm512_setzero_si512 (),
6915extern __inline __m512d
6916__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6919 return (__m512d) __builtin_ia32_permdf512_mask ((__v8df)
__X,
__M,
6921 _mm512_undefined_pd (),
6925extern __inline __m512d
6926__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6929 return (__m512d) __builtin_ia32_permdf512_mask ((__v8df)
__X,
__M,
6934extern __inline __m512d
6935__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6938 return (__m512d) __builtin_ia32_permdf512_mask ((__v8df)
__X,
__M,
6940 _mm512_setzero_pd (),
6944#define _mm512_permutex_pd(X, M) \
6945 ((__m512d) __builtin_ia32_permdf512_mask ((__v8df)(__m512d)(X), (int)(M), \
6946 (__v8df)(__m512d)_mm512_undefined_pd(),\
6949#define _mm512_mask_permutex_pd(W, U, X, M) \
6950 ((__m512d) __builtin_ia32_permdf512_mask ((__v8df)(__m512d)(X), (int)(M), \
6951 (__v8df)(__m512d)(W), (__mmask8)(U)))
6953#define _mm512_maskz_permutex_pd(U, X, M) \
6954 ((__m512d) __builtin_ia32_permdf512_mask ((__v8df)(__m512d)(X), (int)(M), \
6955 (__v8df)(__m512d)_mm512_setzero_pd(),\
6958#define _mm512_permutex_epi64(X, I) \
6959 ((__m512i) __builtin_ia32_permdi512_mask ((__v8di)(__m512i)(X), \
6962 (_mm512_undefined_epi32 ()),\
6965#define _mm512_maskz_permutex_epi64(M, X, I) \
6966 ((__m512i) __builtin_ia32_permdi512_mask ((__v8di)(__m512i)(X), \
6969 (_mm512_setzero_si512 ()),\
6972#define _mm512_mask_permutex_epi64(W, M, X, I) \
6973 ((__m512i) __builtin_ia32_permdi512_mask ((__v8di)(__m512i)(X), \
6975 (__v8di)(__m512i)(W), \
6979extern __inline __m512i
6980__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6983 return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di)
__Y,
6986 _mm512_setzero_si512 (),
6990extern __inline __m512i
6991__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
6992_mm512_permutexvar_epi64 (__m512i
__X, __m512i
__Y)
6994 return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di)
__Y,
6997 _mm512_undefined_epi32 (),
7001extern __inline __m512i
7002__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7006 return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di)
__Y,
7012extern __inline __m512i
7013__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7016 return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si)
__Y,
7019 _mm512_setzero_si512 (),
7023extern __inline __m512i
7024__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7025_mm512_permutexvar_epi32 (__m512i
__X, __m512i
__Y)
7027 return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si)
__Y,
7030 _mm512_undefined_epi32 (),
7034extern __inline __m512i
7035__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7039 return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si)
__Y,
7045extern __inline __m512d
7046__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7047_mm512_permutexvar_pd (__m512i
__X, __m512d
__Y)
7049 return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df)
__Y,
7052 _mm512_undefined_pd (),
7056extern __inline __m512d
7057__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7060 return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df)
__Y,
7066extern __inline __m512d
7067__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7070 return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df)
__Y,
7073 _mm512_setzero_pd (),
7077extern __inline __m512
7078__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7079_mm512_permutexvar_ps (__m512i
__X, __m512
__Y)
7081 return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf)
__Y,
7084 _mm512_undefined_ps (),
7088extern __inline __m512
7089__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7092 return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf)
__Y,
7098extern __inline __m512
7099__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7102 return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf)
__Y,
7105 _mm512_setzero_ps (),
7110extern __inline __m512
7111__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7114 return (__m512) __builtin_ia32_shufps512_mask ((__v16sf)
__M,
7115 (__v16sf)
__V, __imm,
7117 _mm512_undefined_ps (),
7121extern __inline __m512
7122__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7124 __m512
__V,
const int __imm)
7126 return (__m512) __builtin_ia32_shufps512_mask ((__v16sf)
__M,
7127 (__v16sf)
__V, __imm,
7132extern __inline __m512
7133__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7136 return (__m512) __builtin_ia32_shufps512_mask ((__v16sf)
__M,
7137 (__v16sf)
__V, __imm,
7139 _mm512_setzero_ps (),
7143extern __inline __m512d
7144__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7147 return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df)
__M,
7148 (__v8df)
__V, __imm,
7150 _mm512_undefined_pd (),
7154extern __inline __m512d
7155__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7157 __m512d
__V,
const int __imm)
7159 return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df)
__M,
7160 (__v8df)
__V, __imm,
7165extern __inline __m512d
7166__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7170 return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df)
__M,
7171 (__v8df)
__V, __imm,
7173 _mm512_setzero_pd (),
7177extern __inline __m512d
7178__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7180 const int __imm,
const int __R)
7182 return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df)
__A,
7189extern __inline __m512d
7190__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7192 __m512i
__C,
const int __imm,
const int __R)
7194 return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df)
__A,
7201extern __inline __m512d
7202__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7204 __m512i
__C,
const int __imm,
const int __R)
7206 return (__m512d) __builtin_ia32_fixupimmpd512_maskz ((__v8df)
__A,
7213extern __inline __m512
7214__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7216 const int __imm,
const int __R)
7218 return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf)
__A,
7225extern __inline __m512
7226__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7228 __m512i
__C,
const int __imm,
const int __R)
7230 return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf)
__A,
7237extern __inline __m512
7238__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7240 __m512i
__C,
const int __imm,
const int __R)
7242 return (__m512) __builtin_ia32_fixupimmps512_maskz ((__v16sf)
__A,
7249extern __inline __m128d
7250__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7252 const int __imm,
const int __R)
7254 return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df)
__A,
7256 (__v2di)
__C, __imm,
7260extern __inline __m128d
7261__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7263 __m128i
__C,
const int __imm,
const int __R)
7265 return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df)
__A,
7267 (__v2di)
__C, __imm,
7271extern __inline __m128d
7272__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7274 __m128i
__C,
const int __imm,
const int __R)
7276 return (__m128d) __builtin_ia32_fixupimmsd_maskz ((__v2df)
__A,
7283extern __inline __m128
7284__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7286 const int __imm,
const int __R)
7288 return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf)
__A,
7290 (__v4si)
__C, __imm,
7294extern __inline __m128
7295__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7297 __m128i
__C,
const int __imm,
const int __R)
7299 return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf)
__A,
7301 (__v4si)
__C, __imm,
7305extern __inline __m128
7306__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7308 __m128i
__C,
const int __imm,
const int __R)
7310 return (__m128) __builtin_ia32_fixupimmss_maskz ((__v4sf)
__A,
7312 (__v4si)
__C, __imm,
7317#define _mm512_shuffle_pd(X, Y, C) \
7318 ((__m512d)__builtin_ia32_shufpd512_mask ((__v8df)(__m512d)(X), \
7319 (__v8df)(__m512d)(Y), (int)(C),\
7320 (__v8df)(__m512d)_mm512_undefined_pd(),\
7323#define _mm512_mask_shuffle_pd(W, U, X, Y, C) \
7324 ((__m512d)__builtin_ia32_shufpd512_mask ((__v8df)(__m512d)(X), \
7325 (__v8df)(__m512d)(Y), (int)(C),\
7326 (__v8df)(__m512d)(W),\
7329#define _mm512_maskz_shuffle_pd(U, X, Y, C) \
7330 ((__m512d)__builtin_ia32_shufpd512_mask ((__v8df)(__m512d)(X), \
7331 (__v8df)(__m512d)(Y), (int)(C),\
7332 (__v8df)(__m512d)_mm512_setzero_pd(),\
7335#define _mm512_shuffle_ps(X, Y, C) \
7336 ((__m512)__builtin_ia32_shufps512_mask ((__v16sf)(__m512)(X), \
7337 (__v16sf)(__m512)(Y), (int)(C),\
7338 (__v16sf)(__m512)_mm512_undefined_ps(),\
7341#define _mm512_mask_shuffle_ps(W, U, X, Y, C) \
7342 ((__m512)__builtin_ia32_shufps512_mask ((__v16sf)(__m512)(X), \
7343 (__v16sf)(__m512)(Y), (int)(C),\
7344 (__v16sf)(__m512)(W),\
7347#define _mm512_maskz_shuffle_ps(U, X, Y, C) \
7348 ((__m512)__builtin_ia32_shufps512_mask ((__v16sf)(__m512)(X), \
7349 (__v16sf)(__m512)(Y), (int)(C),\
7350 (__v16sf)(__m512)_mm512_setzero_ps(),\
7353#define _mm512_fixupimm_round_pd(X, Y, Z, C, R) \
7354 ((__m512d)__builtin_ia32_fixupimmpd512_mask ((__v8df)(__m512d)(X), \
7355 (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C), \
7356 (__mmask8)(-1), (R)))
7358#define _mm512_mask_fixupimm_round_pd(X, U, Y, Z, C, R) \
7359 ((__m512d)__builtin_ia32_fixupimmpd512_mask ((__v8df)(__m512d)(X), \
7360 (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C), \
7361 (__mmask8)(U), (R)))
7363#define _mm512_maskz_fixupimm_round_pd(U, X, Y, Z, C, R) \
7364 ((__m512d)__builtin_ia32_fixupimmpd512_maskz ((__v8df)(__m512d)(X), \
7365 (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C), \
7366 (__mmask8)(U), (R)))
7368#define _mm512_fixupimm_round_ps(X, Y, Z, C, R) \
7369 ((__m512)__builtin_ia32_fixupimmps512_mask ((__v16sf)(__m512)(X), \
7370 (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C), \
7371 (__mmask16)(-1), (R)))
7373#define _mm512_mask_fixupimm_round_ps(X, U, Y, Z, C, R) \
7374 ((__m512)__builtin_ia32_fixupimmps512_mask ((__v16sf)(__m512)(X), \
7375 (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C), \
7376 (__mmask16)(U), (R)))
7378#define _mm512_maskz_fixupimm_round_ps(U, X, Y, Z, C, R) \
7379 ((__m512)__builtin_ia32_fixupimmps512_maskz ((__v16sf)(__m512)(X), \
7380 (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C), \
7381 (__mmask16)(U), (R)))
7383#define _mm_fixupimm_round_sd(X, Y, Z, C, R) \
7384 ((__m128d)__builtin_ia32_fixupimmsd_mask ((__v2df)(__m128d)(X), \
7385 (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C), \
7386 (__mmask8)(-1), (R)))
7388#define _mm_mask_fixupimm_round_sd(X, U, Y, Z, C, R) \
7389 ((__m128d)__builtin_ia32_fixupimmsd_mask ((__v2df)(__m128d)(X), \
7390 (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C), \
7391 (__mmask8)(U), (R)))
7393#define _mm_maskz_fixupimm_round_sd(U, X, Y, Z, C, R) \
7394 ((__m128d)__builtin_ia32_fixupimmsd_maskz ((__v2df)(__m128d)(X), \
7395 (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C), \
7396 (__mmask8)(U), (R)))
7398#define _mm_fixupimm_round_ss(X, Y, Z, C, R) \
7399 ((__m128)__builtin_ia32_fixupimmss_mask ((__v4sf)(__m128)(X), \
7400 (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C), \
7401 (__mmask8)(-1), (R)))
7403#define _mm_mask_fixupimm_round_ss(X, U, Y, Z, C, R) \
7404 ((__m128)__builtin_ia32_fixupimmss_mask ((__v4sf)(__m128)(X), \
7405 (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C), \
7406 (__mmask8)(U), (R)))
7408#define _mm_maskz_fixupimm_round_ss(U, X, Y, Z, C, R) \
7409 ((__m128)__builtin_ia32_fixupimmss_maskz ((__v4sf)(__m128)(X), \
7410 (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C), \
7411 (__mmask8)(U), (R)))
7414extern __inline __m512
7415__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7416_mm512_movehdup_ps (__m512
__A)
7418 return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf)
__A,
7420 _mm512_undefined_ps (),
7424extern __inline __m512
7425__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7428 return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf)
__A,
7433extern __inline __m512
7434__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7437 return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf)
__A,
7439 _mm512_setzero_ps (),
7443extern __inline __m512
7444__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7445_mm512_moveldup_ps (__m512
__A)
7447 return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf)
__A,
7449 _mm512_undefined_ps (),
7453extern __inline __m512
7454__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7457 return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf)
__A,
7462extern __inline __m512
7463__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7466 return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf)
__A,
7468 _mm512_setzero_ps (),
7472extern __inline __m512i
7473__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7474_mm512_or_si512 (__m512i
__A, __m512i
__B)
7476 return (__m512i) ((__v16su)
__A | (__v16su)
__B);
7479extern __inline __m512i
7480__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7481_mm512_or_epi32 (__m512i
__A, __m512i
__B)
7483 return (__m512i) ((__v16su)
__A | (__v16su)
__B);
7486extern __inline __m512i
7487__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7490 return (__m512i) __builtin_ia32_pord512_mask ((__v16si)
__A,
7496extern __inline __m512i
7497__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7500 return (__m512i) __builtin_ia32_pord512_mask ((__v16si)
__A,
7503 _mm512_setzero_si512 (),
7507extern __inline __m512i
7508__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7509_mm512_or_epi64 (__m512i
__A, __m512i
__B)
7511 return (__m512i) ((__v8du)
__A | (__v8du)
__B);
7514extern __inline __m512i
7515__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7518 return (__m512i) __builtin_ia32_porq512_mask ((__v8di)
__A,
7524extern __inline __m512i
7525__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7528 return (__m512i) __builtin_ia32_porq512_mask ((__v8di)
__A,
7531 _mm512_setzero_si512 (),
7535extern __inline __m512i
7536__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7537_mm512_xor_si512 (__m512i
__A, __m512i
__B)
7539 return (__m512i) ((__v16su)
__A ^ (__v16su)
__B);
7542extern __inline __m512i
7543__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7544_mm512_xor_epi32 (__m512i
__A, __m512i
__B)
7546 return (__m512i) ((__v16su)
__A ^ (__v16su)
__B);
7549extern __inline __m512i
7550__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7553 return (__m512i) __builtin_ia32_pxord512_mask ((__v16si)
__A,
7559extern __inline __m512i
7560__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7563 return (__m512i) __builtin_ia32_pxord512_mask ((__v16si)
__A,
7566 _mm512_setzero_si512 (),
7570extern __inline __m512i
7571__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7572_mm512_xor_epi64 (__m512i
__A, __m512i
__B)
7574 return (__m512i) ((__v8du)
__A ^ (__v8du)
__B);
7577extern __inline __m512i
7578__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7581 return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di)
__A,
7587extern __inline __m512i
7588__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7591 return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di)
__A,
7594 _mm512_setzero_si512 (),
7599extern __inline __m512i
7600__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7603 return (__m512i) __builtin_ia32_prold512_mask ((__v16si)
__A,
__B,
7605 _mm512_undefined_epi32 (),
7609extern __inline __m512i
7610__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7613 return (__m512i) __builtin_ia32_prold512_mask ((__v16si)
__A,
__B,
7618extern __inline __m512i
7619__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7622 return (__m512i) __builtin_ia32_prold512_mask ((__v16si)
__A,
__B,
7624 _mm512_setzero_si512 (),
7628extern __inline __m512i
7629__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7632 return (__m512i) __builtin_ia32_prord512_mask ((__v16si)
__A,
__B,
7634 _mm512_undefined_epi32 (),
7638extern __inline __m512i
7639__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7642 return (__m512i) __builtin_ia32_prord512_mask ((__v16si)
__A,
__B,
7647extern __inline __m512i
7648__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7651 return (__m512i) __builtin_ia32_prord512_mask ((__v16si)
__A,
__B,
7653 _mm512_setzero_si512 (),
7657extern __inline __m512i
7658__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7661 return (__m512i) __builtin_ia32_prolq512_mask ((__v8di)
__A,
__B,
7663 _mm512_undefined_epi32 (),
7667extern __inline __m512i
7668__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7671 return (__m512i) __builtin_ia32_prolq512_mask ((__v8di)
__A,
__B,
7676extern __inline __m512i
7677__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7680 return (__m512i) __builtin_ia32_prolq512_mask ((__v8di)
__A,
__B,
7682 _mm512_setzero_si512 (),
7686extern __inline __m512i
7687__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7690 return (__m512i) __builtin_ia32_prorq512_mask ((__v8di)
__A,
__B,
7692 _mm512_undefined_epi32 (),
7696extern __inline __m512i
7697__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7700 return (__m512i) __builtin_ia32_prorq512_mask ((__v8di)
__A,
__B,
7705extern __inline __m512i
7706__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7709 return (__m512i) __builtin_ia32_prorq512_mask ((__v8di)
__A,
__B,
7711 _mm512_setzero_si512 (),
7716#define _mm512_rol_epi32(A, B) \
7717 ((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A), \
7719 (__v16si)_mm512_undefined_epi32 (), \
7721#define _mm512_mask_rol_epi32(W, U, A, B) \
7722 ((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A), \
7724 (__v16si)(__m512i)(W), \
7726#define _mm512_maskz_rol_epi32(U, A, B) \
7727 ((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A), \
7729 (__v16si)_mm512_setzero_si512 (), \
7731#define _mm512_ror_epi32(A, B) \
7732 ((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A), \
7734 (__v16si)_mm512_undefined_epi32 (), \
7736#define _mm512_mask_ror_epi32(W, U, A, B) \
7737 ((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A), \
7739 (__v16si)(__m512i)(W), \
7741#define _mm512_maskz_ror_epi32(U, A, B) \
7742 ((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A), \
7744 (__v16si)_mm512_setzero_si512 (), \
7746#define _mm512_rol_epi64(A, B) \
7747 ((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A), \
7749 (__v8di)_mm512_undefined_epi32 (), \
7751#define _mm512_mask_rol_epi64(W, U, A, B) \
7752 ((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A), \
7754 (__v8di)(__m512i)(W), \
7756#define _mm512_maskz_rol_epi64(U, A, B) \
7757 ((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A), \
7759 (__v8di)_mm512_setzero_si512 (), \
7762#define _mm512_ror_epi64(A, B) \
7763 ((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A), \
7765 (__v8di)_mm512_undefined_epi32 (), \
7767#define _mm512_mask_ror_epi64(W, U, A, B) \
7768 ((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A), \
7770 (__v8di)(__m512i)(W), \
7772#define _mm512_maskz_ror_epi64(U, A, B) \
7773 ((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A), \
7775 (__v8di)_mm512_setzero_si512 (), \
7779extern __inline __m512i
7780__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7781_mm512_and_si512 (__m512i
__A, __m512i
__B)
7783 return (__m512i) ((__v16su)
__A & (__v16su)
__B);
7786extern __inline __m512i
7787__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7788_mm512_and_epi32 (__m512i
__A, __m512i
__B)
7790 return (__m512i) ((__v16su)
__A & (__v16su)
__B);
7793extern __inline __m512i
7794__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7797 return (__m512i) __builtin_ia32_pandd512_mask ((__v16si)
__A,
7803extern __inline __m512i
7804__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7807 return (__m512i) __builtin_ia32_pandd512_mask ((__v16si)
__A,
7810 _mm512_setzero_si512 (),
7814extern __inline __m512i
7815__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7816_mm512_and_epi64 (__m512i
__A, __m512i
__B)
7818 return (__m512i) ((__v8du)
__A & (__v8du)
__B);
7821extern __inline __m512i
7822__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7825 return (__m512i) __builtin_ia32_pandq512_mask ((__v8di)
__A,
7830extern __inline __m512i
7831__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7834 return (__m512i) __builtin_ia32_pandq512_mask ((__v8di)
__A,
7837 _mm512_setzero_pd (),
7841extern __inline __m512i
7842__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7843_mm512_andnot_si512 (__m512i
__A, __m512i
__B)
7845 return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si)
__A,
7848 _mm512_undefined_epi32 (),
7852extern __inline __m512i
7853__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7854_mm512_andnot_epi32 (__m512i
__A, __m512i
__B)
7856 return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si)
__A,
7859 _mm512_undefined_epi32 (),
7863extern __inline __m512i
7864__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7867 return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si)
__A,
7873extern __inline __m512i
7874__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7877 return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si)
__A,
7880 _mm512_setzero_si512 (),
7884extern __inline __m512i
7885__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7886_mm512_andnot_epi64 (__m512i
__A, __m512i
__B)
7888 return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di)
__A,
7891 _mm512_undefined_epi32 (),
7895extern __inline __m512i
7896__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7899 return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di)
__A,
7904extern __inline __m512i
7905__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7908 return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di)
__A,
7911 _mm512_setzero_pd (),
7916__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7917_mm512_test_epi32_mask (__m512i
__A, __m512i
__B)
7919 return (
__mmask16) __builtin_ia32_ptestmd512 ((__v16si)
__A,
7925__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7928 return (
__mmask16) __builtin_ia32_ptestmd512 ((__v16si)
__A,
7933__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7934_mm512_test_epi64_mask (__m512i
__A, __m512i
__B)
7936 return (
__mmask8) __builtin_ia32_ptestmq512 ((__v8di)
__A,
7942__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7949__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7950_mm512_testn_epi32_mask (__m512i
__A, __m512i
__B)
7952 return (
__mmask16) __builtin_ia32_ptestnmd512 ((__v16si)
__A,
7958__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7961 return (
__mmask16) __builtin_ia32_ptestnmd512 ((__v16si)
__A,
7966__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7967_mm512_testn_epi64_mask (__m512i
__A, __m512i
__B)
7969 return (
__mmask8) __builtin_ia32_ptestnmq512 ((__v8di)
__A,
7975__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7978 return (
__mmask8) __builtin_ia32_ptestnmq512 ((__v8di)
__A,
7982extern __inline __m512
7983__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7984_mm512_abs_ps (__m512
__A)
7986 return (__m512) _mm512_and_epi32 ((__m512i)
__A,
7987 _mm512_set1_epi32 (0x7fffffff));
7990extern __inline __m512
7991__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
7994 return (__m512) _mm512_mask_and_epi32 ((__m512i)
__W,
__U, (__m512i)
__A,
7995 _mm512_set1_epi32 (0x7fffffff));
7998extern __inline __m512d
7999__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8000_mm512_abs_pd (__m512d
__A)
8002 return (__m512d) _mm512_and_epi64 ((__m512i)
__A,
8003 _mm512_set1_epi64 (0x7fffffffffffffffLL));
8006extern __inline __m512d
8007__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8011 _mm512_mask_and_epi64 ((__m512i)
__W,
__U, (__m512i)
__A,
8012 _mm512_set1_epi64 (0x7fffffffffffffffLL));
8015extern __inline __m512i
8016__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8017_mm512_unpackhi_epi32 (__m512i
__A, __m512i
__B)
8019 return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si)
__A,
8022 _mm512_undefined_epi32 (),
8026extern __inline __m512i
8027__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8031 return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si)
__A,
8037extern __inline __m512i
8038__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8041 return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si)
__A,
8044 _mm512_setzero_si512 (),
8048extern __inline __m512i
8049__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8050_mm512_unpackhi_epi64 (__m512i
__A, __m512i
__B)
8052 return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di)
__A,
8055 _mm512_undefined_epi32 (),
8059extern __inline __m512i
8060__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8063 return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di)
__A,
8069extern __inline __m512i
8070__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8073 return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di)
__A,
8076 _mm512_setzero_si512 (),
8080extern __inline __m512i
8081__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8082_mm512_unpacklo_epi32 (__m512i
__A, __m512i
__B)
8084 return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si)
__A,
8087 _mm512_undefined_epi32 (),
8091extern __inline __m512i
8092__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8096 return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si)
__A,
8102extern __inline __m512i
8103__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8106 return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si)
__A,
8109 _mm512_setzero_si512 (),
8113extern __inline __m512i
8114__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8115_mm512_unpacklo_epi64 (__m512i
__A, __m512i
__B)
8117 return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di)
__A,
8120 _mm512_undefined_epi32 (),
8124extern __inline __m512i
8125__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8128 return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di)
__A,
8134extern __inline __m512i
8135__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8138 return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di)
__A,
8141 _mm512_setzero_si512 (),
8147extern __inline
unsigned long long
8148__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8149_mm_cvt_roundss_u64 (__m128
__A,
const int __R)
8151 return (
unsigned long long) __builtin_ia32_vcvtss2usi64 ((__v4sf)
__A,
__R);
8154extern __inline
long long
8155__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8156_mm_cvt_roundss_si64 (__m128
__A,
const int __R)
8158 return (
long long) __builtin_ia32_vcvtss2si64 ((__v4sf)
__A,
__R);
8161extern __inline
long long
8162__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8163_mm_cvt_roundss_i64 (__m128
__A,
const int __R)
8165 return (
long long) __builtin_ia32_vcvtss2si64 ((__v4sf)
__A,
__R);
8168extern __inline
unsigned long long
8169__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8170_mm_cvtt_roundss_u64 (__m128
__A,
const int __R)
8172 return (
unsigned long long) __builtin_ia32_vcvttss2usi64 ((__v4sf)
__A,
__R);
8175extern __inline
long long
8176__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8177_mm_cvtt_roundss_i64 (__m128
__A,
const int __R)
8179 return (
long long) __builtin_ia32_vcvttss2si64 ((__v4sf)
__A,
__R);
8182extern __inline
long long
8183__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8184_mm_cvtt_roundss_si64 (__m128
__A,
const int __R)
8186 return (
long long) __builtin_ia32_vcvttss2si64 ((__v4sf)
__A,
__R);
8189#define _mm_cvt_roundss_u64(A, B) \
8190 ((unsigned long long)__builtin_ia32_vcvtss2usi64(A, B))
8192#define _mm_cvt_roundss_si64(A, B) \
8193 ((long long)__builtin_ia32_vcvtss2si64(A, B))
8195#define _mm_cvt_roundss_i64(A, B) \
8196 ((long long)__builtin_ia32_vcvtss2si64(A, B))
8198#define _mm_cvtt_roundss_u64(A, B) \
8199 ((unsigned long long)__builtin_ia32_vcvttss2usi64(A, B))
8201#define _mm_cvtt_roundss_i64(A, B) \
8202 ((long long)__builtin_ia32_vcvttss2si64(A, B))
8204#define _mm_cvtt_roundss_si64(A, B) \
8205 ((long long)__builtin_ia32_vcvttss2si64(A, B))
8210extern __inline
unsigned
8211__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8214 return (
unsigned) __builtin_ia32_vcvtss2usi32 ((__v4sf)
__A,
__R);
8218__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8221 return (
int) __builtin_ia32_vcvtss2si32 ((__v4sf)
__A,
__R);
8225__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8228 return (
int) __builtin_ia32_vcvtss2si32 ((__v4sf)
__A,
__R);
8231extern __inline
unsigned
8232__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8235 return (
unsigned) __builtin_ia32_vcvttss2usi32 ((__v4sf)
__A,
__R);
8239__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8242 return (
int) __builtin_ia32_vcvttss2si32 ((__v4sf)
__A,
__R);
8246__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8249 return (
int) __builtin_ia32_vcvttss2si32 ((__v4sf)
__A,
__R);
8252#define _mm_cvt_roundss_u32(A, B) \
8253 ((unsigned)__builtin_ia32_vcvtss2usi32(A, B))
8255#define _mm_cvt_roundss_si32(A, B) \
8256 ((int)__builtin_ia32_vcvtss2si32(A, B))
8258#define _mm_cvt_roundss_i32(A, B) \
8259 ((int)__builtin_ia32_vcvtss2si32(A, B))
8261#define _mm_cvtt_roundss_u32(A, B) \
8262 ((unsigned)__builtin_ia32_vcvttss2usi32(A, B))
8264#define _mm_cvtt_roundss_si32(A, B) \
8265 ((int)__builtin_ia32_vcvttss2si32(A, B))
8267#define _mm_cvtt_roundss_i32(A, B) \
8268 ((int)__builtin_ia32_vcvttss2si32(A, B))
8273extern __inline
unsigned long long
8274__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8275_mm_cvt_roundsd_u64 (__m128d
__A,
const int __R)
8277 return (
unsigned long long) __builtin_ia32_vcvtsd2usi64 ((__v2df)
__A,
__R);
8280extern __inline
long long
8281__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8282_mm_cvt_roundsd_si64 (__m128d
__A,
const int __R)
8284 return (
long long) __builtin_ia32_vcvtsd2si64 ((__v2df)
__A,
__R);
8287extern __inline
long long
8288__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8289_mm_cvt_roundsd_i64 (__m128d
__A,
const int __R)
8291 return (
long long) __builtin_ia32_vcvtsd2si64 ((__v2df)
__A,
__R);
8294extern __inline
unsigned long long
8295__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8296_mm_cvtt_roundsd_u64 (__m128d
__A,
const int __R)
8298 return (
unsigned long long) __builtin_ia32_vcvttsd2usi64 ((__v2df)
__A,
__R);
8301extern __inline
long long
8302__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8303_mm_cvtt_roundsd_si64 (__m128d
__A,
const int __R)
8305 return (
long long) __builtin_ia32_vcvttsd2si64 ((__v2df)
__A,
__R);
8308extern __inline
long long
8309__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8310_mm_cvtt_roundsd_i64 (__m128d
__A,
const int __R)
8312 return (
long long) __builtin_ia32_vcvttsd2si64 ((__v2df)
__A,
__R);
8315#define _mm_cvt_roundsd_u64(A, B) \
8316 ((unsigned long long)__builtin_ia32_vcvtsd2usi64(A, B))
8318#define _mm_cvt_roundsd_si64(A, B) \
8319 ((long long)__builtin_ia32_vcvtsd2si64(A, B))
8321#define _mm_cvt_roundsd_i64(A, B) \
8322 ((long long)__builtin_ia32_vcvtsd2si64(A, B))
8324#define _mm_cvtt_roundsd_u64(A, B) \
8325 ((unsigned long long)__builtin_ia32_vcvttsd2usi64(A, B))
8327#define _mm_cvtt_roundsd_si64(A, B) \
8328 ((long long)__builtin_ia32_vcvttsd2si64(A, B))
8330#define _mm_cvtt_roundsd_i64(A, B) \
8331 ((long long)__builtin_ia32_vcvttsd2si64(A, B))
8336extern __inline
unsigned
8337__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8340 return (
unsigned) __builtin_ia32_vcvtsd2usi32 ((__v2df)
__A,
__R);
8344__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8347 return (
int) __builtin_ia32_vcvtsd2si32 ((__v2df)
__A,
__R);
8351__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8354 return (
int) __builtin_ia32_vcvtsd2si32 ((__v2df)
__A,
__R);
8357extern __inline
unsigned
8358__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8361 return (
unsigned) __builtin_ia32_vcvttsd2usi32 ((__v2df)
__A,
__R);
8365__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8368 return (
int) __builtin_ia32_vcvttsd2si32 ((__v2df)
__A,
__R);
8372__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8375 return (
int) __builtin_ia32_vcvttsd2si32 ((__v2df)
__A,
__R);
8378#define _mm_cvt_roundsd_u32(A, B) \
8379 ((unsigned)__builtin_ia32_vcvtsd2usi32(A, B))
8381#define _mm_cvt_roundsd_si32(A, B) \
8382 ((int)__builtin_ia32_vcvtsd2si32(A, B))
8384#define _mm_cvt_roundsd_i32(A, B) \
8385 ((int)__builtin_ia32_vcvtsd2si32(A, B))
8387#define _mm_cvtt_roundsd_u32(A, B) \
8388 ((unsigned)__builtin_ia32_vcvttsd2usi32(A, B))
8390#define _mm_cvtt_roundsd_si32(A, B) \
8391 ((int)__builtin_ia32_vcvttsd2si32(A, B))
8393#define _mm_cvtt_roundsd_i32(A, B) \
8394 ((int)__builtin_ia32_vcvttsd2si32(A, B))
8397extern __inline __m512d
8398__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8399_mm512_movedup_pd (__m512d
__A)
8401 return (__m512d) __builtin_ia32_movddup512_mask ((__v8df)
__A,
8403 _mm512_undefined_pd (),
8407extern __inline __m512d
8408__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8411 return (__m512d) __builtin_ia32_movddup512_mask ((__v8df)
__A,
8416extern __inline __m512d
8417__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8420 return (__m512d) __builtin_ia32_movddup512_mask ((__v8df)
__A,
8422 _mm512_setzero_pd (),
8426extern __inline __m512d
8427__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8428_mm512_unpacklo_pd (__m512d
__A, __m512d
__B)
8430 return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df)
__A,
8433 _mm512_undefined_pd (),
8437extern __inline __m512d
8438__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8441 return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df)
__A,
8447extern __inline __m512d
8448__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8451 return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df)
__A,
8454 _mm512_setzero_pd (),
8458extern __inline __m512d
8459__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8460_mm512_unpackhi_pd (__m512d
__A, __m512d
__B)
8462 return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df)
__A,
8465 _mm512_undefined_pd (),
8469extern __inline __m512d
8470__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8473 return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df)
__A,
8479extern __inline __m512d
8480__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8483 return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df)
__A,
8486 _mm512_setzero_pd (),
8490extern __inline __m512
8491__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8492_mm512_unpackhi_ps (__m512
__A, __m512
__B)
8494 return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf)
__A,
8497 _mm512_undefined_ps (),
8501extern __inline __m512
8502__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8505 return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf)
__A,
8511extern __inline __m512
8512__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8515 return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf)
__A,
8518 _mm512_setzero_ps (),
8523extern __inline __m512d
8524__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8527 return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf)
__A,
8529 _mm512_undefined_pd (),
8533extern __inline __m512d
8534__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8538 return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf)
__A,
8543extern __inline __m512d
8544__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8547 return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf)
__A,
8549 _mm512_setzero_pd (),
8553extern __inline __m512
8554__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8557 return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi)
__A,
8559 _mm512_undefined_ps (),
8563extern __inline __m512
8564__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8568 return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi)
__A,
8573extern __inline __m512
8574__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8577 return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi)
__A,
8579 _mm512_setzero_ps (),
8583extern __inline __m256i
8584__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8587 return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)
__A,
8590 _mm256_undefined_si256 (),
8594extern __inline __m256i
8595__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8598 return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)
__A,
8601 _mm256_undefined_si256 (),
8605extern __inline __m256i
8606__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8610 return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)
__A,
8616extern __inline __m256i
8617__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8620 return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)
__A,
8626extern __inline __m256i
8627__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8630 return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)
__A,
8633 _mm256_setzero_si256 (),
8637extern __inline __m256i
8638__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8641 return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)
__A,
8644 _mm256_setzero_si256 (),
8648#define _mm512_cvt_roundps_pd(A, B) \
8649 (__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)_mm512_undefined_pd(), -1, B)
8651#define _mm512_mask_cvt_roundps_pd(W, U, A, B) \
8652 (__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)(W), U, B)
8654#define _mm512_maskz_cvt_roundps_pd(U, A, B) \
8655 (__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)_mm512_setzero_pd(), U, B)
8657#define _mm512_cvt_roundph_ps(A, B) \
8658 (__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(A), (__v16sf)_mm512_undefined_ps(), -1, B)
8660#define _mm512_mask_cvt_roundph_ps(W, U, A, B) \
8661 (__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(A), (__v16sf)(W), U, B)
8663#define _mm512_maskz_cvt_roundph_ps(U, A, B) \
8664 (__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(A), (__v16sf)_mm512_setzero_ps(), U, B)
8666#define _mm512_cvt_roundps_ph(A, I) \
8667 ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) (A), (int) (I),\
8668 (__v16hi)_mm256_undefined_si256 (), -1))
8669#define _mm512_cvtps_ph(A, I) \
8670 ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) (A), (int) (I),\
8671 (__v16hi)_mm256_undefined_si256 (), -1))
8672#define _mm512_mask_cvt_roundps_ph(U, W, A, I) \
8673 ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) (A), (int) (I),\
8674 (__v16hi)(__m256i)(U), (__mmask16) (W)))
8675#define _mm512_mask_cvtps_ph(U, W, A, I) \
8676 ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) (A), (int) (I),\
8677 (__v16hi)(__m256i)(U), (__mmask16) (W)))
8678#define _mm512_maskz_cvt_roundps_ph(W, A, I) \
8679 ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) (A), (int) (I),\
8680 (__v16hi)_mm256_setzero_si256 (), (__mmask16) (W)))
8681#define _mm512_maskz_cvtps_ph(W, A, I) \
8682 ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) (A), (int) (I),\
8683 (__v16hi)_mm256_setzero_si256 (), (__mmask16) (W)))
8687extern __inline __m256
8688__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8691 return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df)
__A,
8693 _mm256_undefined_ps (),
8697extern __inline __m256
8698__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8702 return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df)
__A,
8707extern __inline __m256
8708__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8711 return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df)
__A,
8713 _mm256_setzero_ps (),
8717extern __inline __m128
8718__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8721 return (__m128) __builtin_ia32_cvtsd2ss_round ((__v4sf)
__A,
8726extern __inline __m128
8727__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8729 __m128d
__B,
const int __R)
8731 return (__m128) __builtin_ia32_cvtsd2ss_mask_round ((__v4sf)
__A,
8738extern __inline __m128
8739__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8741 __m128d
__B,
const int __R)
8743 return (__m128) __builtin_ia32_cvtsd2ss_mask_round ((__v4sf)
__A,
8750extern __inline __m128d
8751__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8754 return (__m128d) __builtin_ia32_cvtss2sd_round ((__v2df)
__A,
8759extern __inline __m128d
8760__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8762 __m128
__B,
const int __R)
8764 return (__m128d) __builtin_ia32_cvtss2sd_mask_round ((__v2df)
__A,
8771extern __inline __m128d
8772__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8774 __m128
__B,
const int __R)
8776 return (__m128d) __builtin_ia32_cvtss2sd_mask_round ((__v2df)
__A,
8783#define _mm512_cvt_roundpd_ps(A, B) \
8784 (__m256)__builtin_ia32_cvtpd2ps512_mask(A, (__v8sf)_mm256_undefined_ps(), -1, B)
8786#define _mm512_mask_cvt_roundpd_ps(W, U, A, B) \
8787 (__m256)__builtin_ia32_cvtpd2ps512_mask(A, (__v8sf)(W), U, B)
8789#define _mm512_maskz_cvt_roundpd_ps(U, A, B) \
8790 (__m256)__builtin_ia32_cvtpd2ps512_mask(A, (__v8sf)_mm256_setzero_ps(), U, B)
8792#define _mm_cvt_roundsd_ss(A, B, C) \
8793 (__m128)__builtin_ia32_cvtsd2ss_round(A, B, C)
8795#define _mm_mask_cvt_roundsd_ss(W, U, A, B, C) \
8796 (__m128)__builtin_ia32_cvtsd2ss_mask_round ((A), (B), (W), (U), (C))
8798#define _mm_maskz_cvt_roundsd_ss(U, A, B, C) \
8799 (__m128)__builtin_ia32_cvtsd2ss_mask_round ((A), (B), _mm_setzero_ps (), \
8802#define _mm_cvt_roundss_sd(A, B, C) \
8803 (__m128d)__builtin_ia32_cvtss2sd_round(A, B, C)
8805#define _mm_mask_cvt_roundss_sd(W, U, A, B, C) \
8806 (__m128d)__builtin_ia32_cvtss2sd_mask_round ((A), (B), (W), (U), (C))
8808#define _mm_maskz_cvt_roundss_sd(U, A, B, C) \
8809 (__m128d)__builtin_ia32_cvtss2sd_mask_round ((A), (B), _mm_setzero_pd (), \
8814#define _mm_mask_cvtss_sd(W, U, A, B) \
8815 _mm_mask_cvt_roundss_sd ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
8817#define _mm_maskz_cvtss_sd(U, A, B) \
8818 _mm_maskz_cvt_roundss_sd ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
8820#define _mm_mask_cvtsd_ss(W, U, A, B) \
8821 _mm_mask_cvt_roundsd_ss ((W), (U), (A), (B), _MM_FROUND_CUR_DIRECTION)
8823#define _mm_maskz_cvtsd_ss(U, A, B) \
8824 _mm_maskz_cvt_roundsd_ss ((U), (A), (B), _MM_FROUND_CUR_DIRECTION)
8827__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8828_mm512_stream_si512 (__m512i *
__P, __m512i
__A)
8830 __builtin_ia32_movntdq512 ((__v8di *)
__P, (__v8di)
__A);
8834__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8835_mm512_stream_ps (
float *
__P, __m512
__A)
8837 __builtin_ia32_movntps512 (
__P, (__v16sf)
__A);
8841__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8842_mm512_stream_pd (
double *
__P, __m512d
__A)
8844 __builtin_ia32_movntpd512 (
__P, (__v8df)
__A);
8847extern __inline __m512i
8848__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8849_mm512_stream_load_si512 (
void *
__P)
8851 return __builtin_ia32_movntdqa512 ((__v8di *)
__P);
8871extern __inline __m128
8872__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8875 return (__m128) __builtin_ia32_getexpss128_round ((__v4sf)
__A,
8880extern __inline __m128
8881__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8883 __m128
__B,
const int __R)
8885 return (__m128) __builtin_ia32_getexpss_mask_round ((__v4sf)
__A,
8891extern __inline __m128
8892__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8896 return (__m128) __builtin_ia32_getexpss_mask_round ((__v4sf)
__A,
8903extern __inline __m128d
8904__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8907 return (__m128d) __builtin_ia32_getexpsd128_round ((__v2df)
__A,
8912extern __inline __m128d
8913__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8915 __m128d
__B,
const int __R)
8917 return (__m128d) __builtin_ia32_getexpsd_mask_round ((__v2df)
__A,
8923extern __inline __m128d
8924__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8928 return (__m128d) __builtin_ia32_getexpsd_mask_round ((__v2df)
__A,
8935extern __inline __m512
8936__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8939 return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf)
__A,
8941 _mm512_undefined_ps (),
8945extern __inline __m512
8946__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8950 return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf)
__A,
8955extern __inline __m512
8956__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8959 return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf)
__A,
8961 _mm512_setzero_ps (),
8965extern __inline __m512d
8966__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8969 return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df)
__A,
8971 _mm512_undefined_pd (),
8975extern __inline __m512d
8976__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8980 return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df)
__A,
8985extern __inline __m512d
8986__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
8989 return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df)
__A,
8991 _mm512_setzero_pd (),
8995extern __inline __m512d
8996__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9000 return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df)
__A,
9002 _mm512_undefined_pd (),
9006extern __inline __m512d
9007__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9012 return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df)
__A,
9018extern __inline __m512d
9019__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9024 return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df)
__A,
9027 _mm512_setzero_pd (),
9031extern __inline __m512
9032__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9036 return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf)
__A,
9038 _mm512_undefined_ps (),
9042extern __inline __m512
9043__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9048 return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf)
__A,
9054extern __inline __m512
9055__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9060 return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf)
__A,
9063 _mm512_setzero_ps (),
9067extern __inline __m128d
9068__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9073 return (__m128d) __builtin_ia32_getmantsd_round ((__v2df)
__A,
9079extern __inline __m128d
9080__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9085 return (__m128d) __builtin_ia32_getmantsd_mask_round ((__v2df)
__A,
9092extern __inline __m128d
9093__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9098 return (__m128d) __builtin_ia32_getmantsd_mask_round ((__v2df)
__A,
9106extern __inline __m128
9107__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9112 return (__m128) __builtin_ia32_getmantss_round ((__v4sf)
__A,
9118extern __inline __m128
9119__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9124 return (__m128) __builtin_ia32_getmantss_mask_round ((__v4sf)
__A,
9131extern __inline __m128
9132__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9137 return (__m128) __builtin_ia32_getmantss_mask_round ((__v4sf)
__A,
9146#define _mm512_getmant_round_pd(X, B, C, R) \
9147 ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X), \
9148 (int)(((C)<<2) | (B)), \
9149 (__v8df)(__m512d)_mm512_undefined_pd(), \
9153#define _mm512_mask_getmant_round_pd(W, U, X, B, C, R) \
9154 ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X), \
9155 (int)(((C)<<2) | (B)), \
9156 (__v8df)(__m512d)(W), \
9160#define _mm512_maskz_getmant_round_pd(U, X, B, C, R) \
9161 ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X), \
9162 (int)(((C)<<2) | (B)), \
9163 (__v8df)(__m512d)_mm512_setzero_pd(), \
9166#define _mm512_getmant_round_ps(X, B, C, R) \
9167 ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X), \
9168 (int)(((C)<<2) | (B)), \
9169 (__v16sf)(__m512)_mm512_undefined_ps(), \
9173#define _mm512_mask_getmant_round_ps(W, U, X, B, C, R) \
9174 ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X), \
9175 (int)(((C)<<2) | (B)), \
9176 (__v16sf)(__m512)(W), \
9180#define _mm512_maskz_getmant_round_ps(U, X, B, C, R) \
9181 ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X), \
9182 (int)(((C)<<2) | (B)), \
9183 (__v16sf)(__m512)_mm512_setzero_ps(), \
9186#define _mm_getmant_round_sd(X, Y, C, D, R) \
9187 ((__m128d)__builtin_ia32_getmantsd_round ((__v2df)(__m128d)(X), \
9188 (__v2df)(__m128d)(Y), \
9189 (int)(((D)<<2) | (C)), \
9192#define _mm_mask_getmant_round_sd(W, U, X, Y, C, D, R) \
9193 ((__m128d)__builtin_ia32_getmantsd_mask_round ((__v2df)(__m128d)(X), \
9194 (__v2df)(__m128d)(Y), \
9195 (int)(((D)<<2) | (C)), \
9196 (__v2df)(__m128d)(W), \
9200#define _mm_maskz_getmant_round_sd(U, X, Y, C, D, R) \
9201 ((__m128d)__builtin_ia32_getmantsd_mask_round ((__v2df)(__m128d)(X), \
9202 (__v2df)(__m128d)(Y), \
9203 (int)(((D)<<2) | (C)), \
9204 (__v2df)(__m128d)_mm_setzero_pd(), \
9208#define _mm_getmant_round_ss(X, Y, C, D, R) \
9209 ((__m128)__builtin_ia32_getmantss_round ((__v4sf)(__m128)(X), \
9210 (__v4sf)(__m128)(Y), \
9211 (int)(((D)<<2) | (C)), \
9214#define _mm_mask_getmant_round_ss(W, U, X, Y, C, D, R) \
9215 ((__m128)__builtin_ia32_getmantss_mask_round ((__v4sf)(__m128)(X), \
9216 (__v4sf)(__m128)(Y), \
9217 (int)(((D)<<2) | (C)), \
9218 (__v4sf)(__m128)(W), \
9222#define _mm_maskz_getmant_round_ss(U, X, Y, C, D, R) \
9223 ((__m128)__builtin_ia32_getmantss_mask_round ((__v4sf)(__m128)(X), \
9224 (__v4sf)(__m128)(Y), \
9225 (int)(((D)<<2) | (C)), \
9226 (__v4sf)(__m128)_mm_setzero_ps(), \
9230#define _mm_getexp_round_ss(A, B, R) \
9231 ((__m128)__builtin_ia32_getexpss128_round((__v4sf)(__m128)(A), (__v4sf)(__m128)(B), R))
9233#define _mm_mask_getexp_round_ss(W, U, A, B, C) \
9234 (__m128)__builtin_ia32_getexpss_mask_round(A, B, W, U, C)
9236#define _mm_maskz_getexp_round_ss(U, A, B, C) \
9237 (__m128)__builtin_ia32_getexpss_mask_round(A, B, (__v4sf)_mm_setzero_ps(), U, C)
9239#define _mm_getexp_round_sd(A, B, R) \
9240 ((__m128d)__builtin_ia32_getexpsd128_round((__v2df)(__m128d)(A), (__v2df)(__m128d)(B), R))
9242#define _mm_mask_getexp_round_sd(W, U, A, B, C) \
9243 (__m128d)__builtin_ia32_getexpsd_mask_round(A, B, W, U, C)
9245#define _mm_maskz_getexp_round_sd(U, A, B, C) \
9246 (__m128d)__builtin_ia32_getexpsd_mask_round(A, B, (__v2df)_mm_setzero_pd(), U, C)
9249#define _mm512_getexp_round_ps(A, R) \
9250 ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
9251 (__v16sf)_mm512_undefined_ps(), (__mmask16)-1, R))
9253#define _mm512_mask_getexp_round_ps(W, U, A, R) \
9254 ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
9255 (__v16sf)(__m512)(W), (__mmask16)(U), R))
9257#define _mm512_maskz_getexp_round_ps(U, A, R) \
9258 ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
9259 (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), R))
9261#define _mm512_getexp_round_pd(A, R) \
9262 ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
9263 (__v8df)_mm512_undefined_pd(), (__mmask8)-1, R))
9265#define _mm512_mask_getexp_round_pd(W, U, A, R) \
9266 ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
9267 (__v8df)(__m512d)(W), (__mmask8)(U), R))
9269#define _mm512_maskz_getexp_round_pd(U, A, R) \
9270 ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
9271 (__v8df)_mm512_setzero_pd(), (__mmask8)(U), R))
9275extern __inline __m512
9276__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9279 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__A, __imm,
9281 _mm512_undefined_ps (),
9285extern __inline __m512
9286__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9288 const int __imm,
const int __R)
9290 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__C, __imm,
9295extern __inline __m512
9296__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9298 const int __imm,
const int __R)
9300 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__B,
9303 _mm512_setzero_ps (),
9307extern __inline __m512d
9308__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9311 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__A, __imm,
9313 _mm512_undefined_pd (),
9317extern __inline __m512d
9318__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9320 __m512d
__C,
const int __imm,
const int __R)
9322 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__C, __imm,
9327extern __inline __m512d
9328__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9330 const int __imm,
const int __R)
9332 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__B,
9335 _mm512_setzero_pd (),
9339extern __inline __m128
9340__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9345 __builtin_ia32_rndscaless_mask_round ((__v4sf)
__A,
9346 (__v4sf)
__B, __imm,
9353extern __inline __m128
9354__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9356 __m128
__D,
const int __imm,
const int __R)
9359 __builtin_ia32_rndscaless_mask_round ((__v4sf)
__C,
9360 (__v4sf)
__D, __imm,
9366extern __inline __m128
9367__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9369 const int __imm,
const int __R)
9372 __builtin_ia32_rndscaless_mask_round ((__v4sf)
__B,
9373 (__v4sf)
__C, __imm,
9380extern __inline __m128d
9381__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9386 __builtin_ia32_rndscalesd_mask_round ((__v2df)
__A,
9387 (__v2df)
__B, __imm,
9394extern __inline __m128d
9395__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9397 __m128d
__D,
const int __imm,
const int __R)
9400 __builtin_ia32_rndscalesd_mask_round ((__v2df)
__C,
9401 (__v2df)
__D, __imm,
9407extern __inline __m128d
9408__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9410 const int __imm,
const int __R)
9413 __builtin_ia32_rndscalesd_mask_round ((__v2df)
__B,
9414 (__v2df)
__C, __imm,
9422#define _mm512_roundscale_round_ps(A, B, R) \
9423 ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(A), (int)(B),\
9424 (__v16sf)_mm512_undefined_ps(), (__mmask16)(-1), R))
9425#define _mm512_mask_roundscale_round_ps(A, B, C, D, R) \
9426 ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(C), \
9428 (__v16sf)(__m512)(A), \
9430#define _mm512_maskz_roundscale_round_ps(A, B, C, R) \
9431 ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(B), \
9433 (__v16sf)_mm512_setzero_ps(),\
9435#define _mm512_roundscale_round_pd(A, B, R) \
9436 ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(A), (int)(B),\
9437 (__v8df)_mm512_undefined_pd(), (__mmask8)(-1), R))
9438#define _mm512_mask_roundscale_round_pd(A, B, C, D, R) \
9439 ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(C), \
9441 (__v8df)(__m512d)(A), \
9443#define _mm512_maskz_roundscale_round_pd(A, B, C, R) \
9444 ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(B), \
9446 (__v8df)_mm512_setzero_pd(),\
9448#define _mm_roundscale_round_ss(A, B, I, R) \
9450 __builtin_ia32_rndscaless_mask_round ((__v4sf) (__m128) (A), \
9451 (__v4sf) (__m128) (B), \
9453 (__v4sf) _mm_setzero_ps (), \
9456#define _mm_mask_roundscale_round_ss(A, U, B, C, I, R) \
9458 __builtin_ia32_rndscaless_mask_round ((__v4sf) (__m128) (B), \
9459 (__v4sf) (__m128) (C), \
9461 (__v4sf) (__m128) (A), \
9464#define _mm_maskz_roundscale_round_ss(U, A, B, I, R) \
9466 __builtin_ia32_rndscaless_mask_round ((__v4sf) (__m128) (A), \
9467 (__v4sf) (__m128) (B), \
9469 (__v4sf) _mm_setzero_ps (), \
9472#define _mm_roundscale_round_sd(A, B, I, R) \
9474 __builtin_ia32_rndscalesd_mask_round ((__v2df) (__m128d) (A), \
9475 (__v2df) (__m128d) (B), \
9477 (__v2df) _mm_setzero_pd (), \
9480#define _mm_mask_roundscale_round_sd(A, U, B, C, I, R) \
9482 __builtin_ia32_rndscalesd_mask_round ((__v2df) (__m128d) (B), \
9483 (__v2df) (__m128d) (C), \
9485 (__v2df) (__m128d) (A), \
9488#define _mm_maskz_roundscale_round_sd(U, A, B, I, R) \
9490 __builtin_ia32_rndscalesd_mask_round ((__v2df) (__m128d) (A), \
9491 (__v2df) (__m128d) (B), \
9493 (__v2df) _mm_setzero_pd (), \
9498extern __inline __m512
9499__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9500_mm512_floor_ps (__m512
__A)
9502 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__A,
9508extern __inline __m512d
9509__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9510_mm512_floor_pd (__m512d
__A)
9512 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__A,
9518extern __inline __m512
9519__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9520_mm512_ceil_ps (__m512
__A)
9522 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__A,
9528extern __inline __m512d
9529__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9530_mm512_ceil_pd (__m512d
__A)
9532 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__A,
9538extern __inline __m512
9539__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9542 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__A,
9548extern __inline __m512d
9549__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9552 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__A,
9558extern __inline __m512
9559__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9562 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__A,
9568extern __inline __m512d
9569__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9572 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__A,
9579extern __inline __m512i
9580__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9583 return (__m512i) __builtin_ia32_alignd512_mask ((__v16si)
__A,
9584 (__v16si)
__B, __imm,
9586 _mm512_undefined_epi32 (),
9590extern __inline __m512i
9591__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9593 __m512i
__B,
const int __imm)
9595 return (__m512i) __builtin_ia32_alignd512_mask ((__v16si)
__A,
9596 (__v16si)
__B, __imm,
9601extern __inline __m512i
9602__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9606 return (__m512i) __builtin_ia32_alignd512_mask ((__v16si)
__A,
9607 (__v16si)
__B, __imm,
9609 _mm512_setzero_si512 (),
9613extern __inline __m512i
9614__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9617 return (__m512i) __builtin_ia32_alignq512_mask ((__v8di)
__A,
9618 (__v8di)
__B, __imm,
9620 _mm512_undefined_epi32 (),
9624extern __inline __m512i
9625__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9627 __m512i
__B,
const int __imm)
9629 return (__m512i) __builtin_ia32_alignq512_mask ((__v8di)
__A,
9630 (__v8di)
__B, __imm,
9635extern __inline __m512i
9636__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9640 return (__m512i) __builtin_ia32_alignq512_mask ((__v8di)
__A,
9641 (__v8di)
__B, __imm,
9643 _mm512_setzero_si512 (),
9647#define _mm512_alignr_epi32(X, Y, C) \
9648 ((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X), \
9649 (__v16si)(__m512i)(Y), (int)(C), (__v16si)_mm512_undefined_epi32 (),\
9652#define _mm512_mask_alignr_epi32(W, U, X, Y, C) \
9653 ((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X), \
9654 (__v16si)(__m512i)(Y), (int)(C), (__v16si)(__m512i)(W), \
9657#define _mm512_maskz_alignr_epi32(U, X, Y, C) \
9658 ((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X), \
9659 (__v16si)(__m512i)(Y), (int)(C), (__v16si)_mm512_setzero_si512 (),\
9662#define _mm512_alignr_epi64(X, Y, C) \
9663 ((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X), \
9664 (__v8di)(__m512i)(Y), (int)(C), (__v8di)_mm512_undefined_epi32 (), \
9667#define _mm512_mask_alignr_epi64(W, U, X, Y, C) \
9668 ((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X), \
9669 (__v8di)(__m512i)(Y), (int)(C), (__v8di)(__m512i)(W), (__mmask8)(U)))
9671#define _mm512_maskz_alignr_epi64(U, X, Y, C) \
9672 ((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X), \
9673 (__v8di)(__m512i)(Y), (int)(C), (__v8di)_mm512_setzero_si512 (),\
9678__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9679_mm512_cmpeq_epi32_mask (__m512i
__A, __m512i
__B)
9681 return (
__mmask16) __builtin_ia32_pcmpeqd512_mask ((__v16si)
__A,
9687__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9690 return (
__mmask16) __builtin_ia32_pcmpeqd512_mask ((__v16si)
__A,
9695__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9698 return (
__mmask8) __builtin_ia32_pcmpeqq512_mask ((__v8di)
__A,
9703__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9704_mm512_cmpeq_epi64_mask (__m512i
__A, __m512i
__B)
9706 return (
__mmask8) __builtin_ia32_pcmpeqq512_mask ((__v8di)
__A,
9712__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9713_mm512_cmpgt_epi32_mask (__m512i
__A, __m512i
__B)
9715 return (
__mmask16) __builtin_ia32_pcmpgtd512_mask ((__v16si)
__A,
9721__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9724 return (
__mmask16) __builtin_ia32_pcmpgtd512_mask ((__v16si)
__A,
9729__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9732 return (
__mmask8) __builtin_ia32_pcmpgtq512_mask ((__v8di)
__A,
9737__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9738_mm512_cmpgt_epi64_mask (__m512i
__A, __m512i
__B)
9740 return (
__mmask8) __builtin_ia32_pcmpgtq512_mask ((__v8di)
__A,
9746__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9747_mm512_cmpge_epi32_mask (__m512i
__X, __m512i
__Y)
9749 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
9755__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9758 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
9764__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9767 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
9773__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9774_mm512_cmpge_epu32_mask (__m512i
__X, __m512i
__Y)
9776 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
9782__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9785 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
9791__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9792_mm512_cmpge_epi64_mask (__m512i
__X, __m512i
__Y)
9794 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
9800__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9803 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
9809__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9810_mm512_cmpge_epu64_mask (__m512i
__X, __m512i
__Y)
9812 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
9818__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9821 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
9827__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9828_mm512_cmple_epi32_mask (__m512i
__X, __m512i
__Y)
9830 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
9836__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9839 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
9845__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9846_mm512_cmple_epu32_mask (__m512i
__X, __m512i
__Y)
9848 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
9854__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9857 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
9863__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9864_mm512_cmple_epi64_mask (__m512i
__X, __m512i
__Y)
9866 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
9872__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9875 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
9881__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9882_mm512_cmple_epu64_mask (__m512i
__X, __m512i
__Y)
9884 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
9890__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9893 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
9899__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9900_mm512_cmplt_epi32_mask (__m512i
__X, __m512i
__Y)
9902 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
9908__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9911 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
9917__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9918_mm512_cmplt_epu32_mask (__m512i
__X, __m512i
__Y)
9920 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
9926__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9929 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
9935__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9936_mm512_cmplt_epi64_mask (__m512i
__X, __m512i
__Y)
9938 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
9944__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9947 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
9953__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9954_mm512_cmplt_epu64_mask (__m512i
__X, __m512i
__Y)
9956 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
9962__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9963_mm512_cmpneq_epi32_mask (__m512i
__X, __m512i
__Y)
9965 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
9971__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9974 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
9980__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9983 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
9989__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
9990_mm512_cmpneq_epu32_mask (__m512i
__X, __m512i
__Y)
9992 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
9998__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10001 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
10007__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10008_mm512_cmpneq_epi64_mask (__m512i
__X, __m512i
__Y)
10010 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
10016__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10019 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
10025__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10026_mm512_cmpneq_epu64_mask (__m512i
__X, __m512i
__Y)
10028 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
10033#define _MM_CMPINT_EQ 0x0
10034#define _MM_CMPINT_LT 0x1
10035#define _MM_CMPINT_LE 0x2
10036#define _MM_CMPINT_UNUSED 0x3
10037#define _MM_CMPINT_NE 0x4
10038#define _MM_CMPINT_NLT 0x5
10039#define _MM_CMPINT_GE 0x5
10040#define _MM_CMPINT_NLE 0x6
10041#define _MM_CMPINT_GT 0x6
10045__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10053__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10061__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10064 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
10070__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10073 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
10079__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10082 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
10088__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10091 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
10097__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10101 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
10107__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10110 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
10116__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10120 return (
__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)
__X,
10126__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10130 return (
__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)
__X,
10136__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10140 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__X,
10146__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10150 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__X,
10156__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10158 const int __P,
const int __R)
10160 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
10166__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10168 const int __P,
const int __R)
10170 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
10176__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10179 return (
__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)
__X,
10185__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10187 const int __P,
const int __R)
10189 return (
__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)
__X,
10195__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10198 return (
__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)
__X,
10204__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10206 const int __P,
const int __R)
10208 return (
__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)
__X,
10214#define _kshiftli_mask16(X, Y) \
10215 ((__mmask16) __builtin_ia32_kshiftlihi ((__mmask16)(X), (__mmask8)(Y)))
10217#define _kshiftri_mask16(X, Y) \
10218 ((__mmask16) __builtin_ia32_kshiftrihi ((__mmask16)(X), (__mmask8)(Y)))
10220#define _mm512_cmp_epi64_mask(X, Y, P) \
10221 ((__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)(__m512i)(X), \
10222 (__v8di)(__m512i)(Y), (int)(P),\
10225#define _mm512_cmp_epi32_mask(X, Y, P) \
10226 ((__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \
10227 (__v16si)(__m512i)(Y), (int)(P), \
10230#define _mm512_cmp_epu64_mask(X, Y, P) \
10231 ((__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)(__m512i)(X), \
10232 (__v8di)(__m512i)(Y), (int)(P),\
10235#define _mm512_cmp_epu32_mask(X, Y, P) \
10236 ((__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \
10237 (__v16si)(__m512i)(Y), (int)(P), \
10240#define _mm512_cmp_round_pd_mask(X, Y, P, R) \
10241 ((__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)(__m512d)(X), \
10242 (__v8df)(__m512d)(Y), (int)(P),\
10245#define _mm512_cmp_round_ps_mask(X, Y, P, R) \
10246 ((__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)(__m512)(X), \
10247 (__v16sf)(__m512)(Y), (int)(P),\
10250#define _mm512_mask_cmp_epi64_mask(M, X, Y, P) \
10251 ((__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)(__m512i)(X), \
10252 (__v8di)(__m512i)(Y), (int)(P),\
10255#define _mm512_mask_cmp_epi32_mask(M, X, Y, P) \
10256 ((__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \
10257 (__v16si)(__m512i)(Y), (int)(P), \
10260#define _mm512_mask_cmp_epu64_mask(M, X, Y, P) \
10261 ((__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)(__m512i)(X), \
10262 (__v8di)(__m512i)(Y), (int)(P),\
10265#define _mm512_mask_cmp_epu32_mask(M, X, Y, P) \
10266 ((__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \
10267 (__v16si)(__m512i)(Y), (int)(P), \
10270#define _mm512_mask_cmp_round_pd_mask(M, X, Y, P, R) \
10271 ((__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)(__m512d)(X), \
10272 (__v8df)(__m512d)(Y), (int)(P),\
10275#define _mm512_mask_cmp_round_ps_mask(M, X, Y, P, R) \
10276 ((__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)(__m512)(X), \
10277 (__v16sf)(__m512)(Y), (int)(P),\
10278 (__mmask16)(M), R))
10280#define _mm_cmp_round_sd_mask(X, Y, P, R) \
10281 ((__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)(__m128d)(X), \
10282 (__v2df)(__m128d)(Y), (int)(P),\
10285#define _mm_mask_cmp_round_sd_mask(M, X, Y, P, R) \
10286 ((__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)(__m128d)(X), \
10287 (__v2df)(__m128d)(Y), (int)(P),\
10290#define _mm_cmp_round_ss_mask(X, Y, P, R) \
10291 ((__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)(__m128)(X), \
10292 (__v4sf)(__m128)(Y), (int)(P), \
10295#define _mm_mask_cmp_round_ss_mask(M, X, Y, P, R) \
10296 ((__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)(__m128)(X), \
10297 (__v4sf)(__m128)(Y), (int)(P), \
10302extern __inline __m512
10303__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10306 __m512 __v1_old = _mm512_undefined_ps ();
10309 return (__m512) __builtin_ia32_gathersiv16sf ((__v16sf) __v1_old,
10315extern __inline __m512
10316__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10318 __m512i __index,
void const *__addr,
int __scale)
10320 return (__m512) __builtin_ia32_gathersiv16sf ((__v16sf) __v1_old,
10326extern __inline __m512d
10327__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10330 __m512d __v1_old = _mm512_undefined_pd ();
10333 return (__m512d) __builtin_ia32_gathersiv8df ((__v8df) __v1_old,
10335 (__v8si) __index, __mask,
10339extern __inline __m512d
10340__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10342 __m256i __index,
void const *__addr,
int __scale)
10344 return (__m512d) __builtin_ia32_gathersiv8df ((__v8df) __v1_old,
10350extern __inline __m256
10351__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10354 __m256 __v1_old = _mm256_undefined_ps ();
10357 return (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf) __v1_old,
10359 (__v8di) __index, __mask,
10363extern __inline __m256
10364__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10366 __m512i __index,
void const *__addr,
int __scale)
10368 return (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf) __v1_old,
10374extern __inline __m512d
10375__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10378 __m512d __v1_old = _mm512_undefined_pd ();
10381 return (__m512d) __builtin_ia32_gatherdiv8df ((__v8df) __v1_old,
10383 (__v8di) __index, __mask,
10387extern __inline __m512d
10388__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10390 __m512i __index,
void const *__addr,
int __scale)
10392 return (__m512d) __builtin_ia32_gatherdiv8df ((__v8df) __v1_old,
10398extern __inline __m512i
10399__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10402 __m512i __v1_old = _mm512_undefined_epi32 ();
10405 return (__m512i) __builtin_ia32_gathersiv16si ((__v16si) __v1_old,
10411extern __inline __m512i
10412__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10414 __m512i __index,
void const *__addr,
int __scale)
10416 return (__m512i) __builtin_ia32_gathersiv16si ((__v16si) __v1_old,
10422extern __inline __m512i
10423__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10426 __m512i __v1_old = _mm512_undefined_epi32 ();
10429 return (__m512i) __builtin_ia32_gathersiv8di ((__v8di) __v1_old,
10431 (__v8si) __index, __mask,
10435extern __inline __m512i
10436__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10438 __m256i __index,
void const *__addr,
10441 return (__m512i) __builtin_ia32_gathersiv8di ((__v8di) __v1_old,
10447extern __inline __m256i
10448__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10451 __m256i __v1_old = _mm256_undefined_si256 ();
10454 return (__m256i) __builtin_ia32_gatherdiv16si ((__v8si) __v1_old,
10460extern __inline __m256i
10461__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10463 __m512i __index,
void const *__addr,
int __scale)
10465 return (__m256i) __builtin_ia32_gatherdiv16si ((__v8si) __v1_old,
10471extern __inline __m512i
10472__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10475 __m512i __v1_old = _mm512_undefined_epi32 ();
10478 return (__m512i) __builtin_ia32_gatherdiv8di ((__v8di) __v1_old,
10480 (__v8di) __index, __mask,
10484extern __inline __m512i
10485__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10487 __m512i __index,
void const *__addr,
10490 return (__m512i) __builtin_ia32_gatherdiv8di ((__v8di) __v1_old,
10496extern __inline
void
10497__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10500 __builtin_ia32_scattersiv16sf (__addr, (
__mmask16) 0xFFFF,
10501 (__v16si) __index, (__v16sf) __v1, __scale);
10504extern __inline
void
10505__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10507 __m512i __index, __m512 __v1,
int __scale)
10509 __builtin_ia32_scattersiv16sf (__addr, __mask, (__v16si) __index,
10510 (__v16sf) __v1, __scale);
10513extern __inline
void
10514__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10518 __builtin_ia32_scattersiv8df (__addr, (
__mmask8) 0xFF,
10519 (__v8si) __index, (__v8df) __v1, __scale);
10522extern __inline
void
10523__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10525 __m256i __index, __m512d __v1,
int __scale)
10527 __builtin_ia32_scattersiv8df (__addr, __mask, (__v8si) __index,
10528 (__v8df) __v1, __scale);
10531extern __inline
void
10532__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10535 __builtin_ia32_scatterdiv16sf (__addr, (
__mmask8) 0xFF,
10536 (__v8di) __index, (__v8sf) __v1, __scale);
10539extern __inline
void
10540__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10542 __m512i __index, __m256 __v1,
int __scale)
10544 __builtin_ia32_scatterdiv16sf (__addr, __mask, (__v8di) __index,
10545 (__v8sf) __v1, __scale);
10548extern __inline
void
10549__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10553 __builtin_ia32_scatterdiv8df (__addr, (
__mmask8) 0xFF,
10554 (__v8di) __index, (__v8df) __v1, __scale);
10557extern __inline
void
10558__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10560 __m512i __index, __m512d __v1,
int __scale)
10562 __builtin_ia32_scatterdiv8df (__addr, __mask, (__v8di) __index,
10563 (__v8df) __v1, __scale);
10566extern __inline
void
10567__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10569 __m512i __v1,
int __scale)
10571 __builtin_ia32_scattersiv16si (__addr, (
__mmask16) 0xFFFF,
10572 (__v16si) __index, (__v16si) __v1, __scale);
10575extern __inline
void
10576__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10578 __m512i __index, __m512i __v1,
int __scale)
10580 __builtin_ia32_scattersiv16si (__addr, __mask, (__v16si) __index,
10581 (__v16si) __v1, __scale);
10584extern __inline
void
10585__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10587 __m512i __v1,
int __scale)
10589 __builtin_ia32_scattersiv8di (__addr, (
__mmask8) 0xFF,
10590 (__v8si) __index, (__v8di) __v1, __scale);
10593extern __inline
void
10594__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10596 __m256i __index, __m512i __v1,
int __scale)
10598 __builtin_ia32_scattersiv8di (__addr, __mask, (__v8si) __index,
10599 (__v8di) __v1, __scale);
10602extern __inline
void
10603__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10605 __m256i __v1,
int __scale)
10607 __builtin_ia32_scatterdiv16si (__addr, (
__mmask8) 0xFF,
10608 (__v8di) __index, (__v8si) __v1, __scale);
10611extern __inline
void
10612__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10614 __m512i __index, __m256i __v1,
int __scale)
10616 __builtin_ia32_scatterdiv16si (__addr, __mask, (__v8di) __index,
10617 (__v8si) __v1, __scale);
10620extern __inline
void
10621__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10623 __m512i __v1,
int __scale)
10625 __builtin_ia32_scatterdiv8di (__addr, (
__mmask8) 0xFF,
10626 (__v8di) __index, (__v8di) __v1, __scale);
10629extern __inline
void
10630__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10632 __m512i __index, __m512i __v1,
int __scale)
10634 __builtin_ia32_scatterdiv8di (__addr, __mask, (__v8di) __index,
10635 (__v8di) __v1, __scale);
10638#define _mm512_i32gather_ps(INDEX, ADDR, SCALE) \
10639 (__m512) __builtin_ia32_gathersiv16sf ((__v16sf)_mm512_undefined_ps(),\
10640 (void const *) (ADDR), \
10641 (__v16si)(__m512i) (INDEX), \
10642 (__mmask16)0xFFFF, \
10645#define _mm512_mask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
10646 (__m512) __builtin_ia32_gathersiv16sf ((__v16sf)(__m512) (V1OLD), \
10647 (void const *) (ADDR), \
10648 (__v16si)(__m512i) (INDEX), \
10649 (__mmask16) (MASK), \
10652#define _mm512_i32gather_pd(INDEX, ADDR, SCALE) \
10653 (__m512d) __builtin_ia32_gathersiv8df ((__v8df)_mm512_undefined_pd(), \
10654 (void const *) (ADDR), \
10655 (__v8si)(__m256i) (INDEX), \
10656 (__mmask8)0xFF, (int) (SCALE))
10658#define _mm512_mask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
10659 (__m512d) __builtin_ia32_gathersiv8df ((__v8df)(__m512d) (V1OLD), \
10660 (void const *) (ADDR), \
10661 (__v8si)(__m256i) (INDEX), \
10662 (__mmask8) (MASK), \
10665#define _mm512_i64gather_ps(INDEX, ADDR, SCALE) \
10666 (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf)_mm256_undefined_ps(), \
10667 (void const *) (ADDR), \
10668 (__v8di)(__m512i) (INDEX), \
10669 (__mmask8)0xFF, (int) (SCALE))
10671#define _mm512_mask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
10672 (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf)(__m256) (V1OLD), \
10673 (void const *) (ADDR), \
10674 (__v8di)(__m512i) (INDEX), \
10675 (__mmask8) (MASK), \
10678#define _mm512_i64gather_pd(INDEX, ADDR, SCALE) \
10679 (__m512d) __builtin_ia32_gatherdiv8df ((__v8df)_mm512_undefined_pd(), \
10680 (void const *) (ADDR), \
10681 (__v8di)(__m512i) (INDEX), \
10682 (__mmask8)0xFF, (int) (SCALE))
10684#define _mm512_mask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
10685 (__m512d) __builtin_ia32_gatherdiv8df ((__v8df)(__m512d) (V1OLD), \
10686 (void const *) (ADDR), \
10687 (__v8di)(__m512i) (INDEX), \
10688 (__mmask8) (MASK), \
10691#define _mm512_i32gather_epi32(INDEX, ADDR, SCALE) \
10692 (__m512i) __builtin_ia32_gathersiv16si ((__v16si)_mm512_undefined_epi32 (),\
10693 (void const *) (ADDR), \
10694 (__v16si)(__m512i) (INDEX), \
10695 (__mmask16)0xFFFF, \
10698#define _mm512_mask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
10699 (__m512i) __builtin_ia32_gathersiv16si ((__v16si)(__m512i) (V1OLD), \
10700 (void const *) (ADDR), \
10701 (__v16si)(__m512i) (INDEX), \
10702 (__mmask16) (MASK), \
10705#define _mm512_i32gather_epi64(INDEX, ADDR, SCALE) \
10706 (__m512i) __builtin_ia32_gathersiv8di ((__v8di)_mm512_undefined_epi32 (),\
10707 (void const *) (ADDR), \
10708 (__v8si)(__m256i) (INDEX), \
10709 (__mmask8)0xFF, (int) (SCALE))
10711#define _mm512_mask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
10712 (__m512i) __builtin_ia32_gathersiv8di ((__v8di)(__m512i) (V1OLD), \
10713 (void const *) (ADDR), \
10714 (__v8si)(__m256i) (INDEX), \
10715 (__mmask8) (MASK), \
10718#define _mm512_i64gather_epi32(INDEX, ADDR, SCALE) \
10719 (__m256i) __builtin_ia32_gatherdiv16si ((__v8si)_mm256_undefined_si256(),\
10720 (void const *) (ADDR), \
10721 (__v8di)(__m512i) (INDEX), \
10722 (__mmask8)0xFF, (int) (SCALE))
10724#define _mm512_mask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
10725 (__m256i) __builtin_ia32_gatherdiv16si ((__v8si)(__m256i) (V1OLD), \
10726 (void const *) (ADDR), \
10727 (__v8di)(__m512i) (INDEX), \
10728 (__mmask8) (MASK), \
10731#define _mm512_i64gather_epi64(INDEX, ADDR, SCALE) \
10732 (__m512i) __builtin_ia32_gatherdiv8di ((__v8di)_mm512_undefined_epi32 (),\
10733 (void const *) (ADDR), \
10734 (__v8di)(__m512i) (INDEX), \
10735 (__mmask8)0xFF, (int) (SCALE))
10737#define _mm512_mask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
10738 (__m512i) __builtin_ia32_gatherdiv8di ((__v8di)(__m512i) (V1OLD), \
10739 (void const *) (ADDR), \
10740 (__v8di)(__m512i) (INDEX), \
10741 (__mmask8) (MASK), \
10744#define _mm512_i32scatter_ps(ADDR, INDEX, V1, SCALE) \
10745 __builtin_ia32_scattersiv16sf ((void *) (ADDR), (__mmask16)0xFFFF, \
10746 (__v16si)(__m512i) (INDEX), \
10747 (__v16sf)(__m512) (V1), (int) (SCALE))
10749#define _mm512_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
10750 __builtin_ia32_scattersiv16sf ((void *) (ADDR), (__mmask16) (MASK), \
10751 (__v16si)(__m512i) (INDEX), \
10752 (__v16sf)(__m512) (V1), (int) (SCALE))
10754#define _mm512_i32scatter_pd(ADDR, INDEX, V1, SCALE) \
10755 __builtin_ia32_scattersiv8df ((void *) (ADDR), (__mmask8)0xFF, \
10756 (__v8si)(__m256i) (INDEX), \
10757 (__v8df)(__m512d) (V1), (int) (SCALE))
10759#define _mm512_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
10760 __builtin_ia32_scattersiv8df ((void *) (ADDR), (__mmask8) (MASK), \
10761 (__v8si)(__m256i) (INDEX), \
10762 (__v8df)(__m512d) (V1), (int) (SCALE))
10764#define _mm512_i64scatter_ps(ADDR, INDEX, V1, SCALE) \
10765 __builtin_ia32_scatterdiv16sf ((void *) (ADDR), (__mmask8)0xFF, \
10766 (__v8di)(__m512i) (INDEX), \
10767 (__v8sf)(__m256) (V1), (int) (SCALE))
10769#define _mm512_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
10770 __builtin_ia32_scatterdiv16sf ((void *) (ADDR), (__mmask16) (MASK), \
10771 (__v8di)(__m512i) (INDEX), \
10772 (__v8sf)(__m256) (V1), (int) (SCALE))
10774#define _mm512_i64scatter_pd(ADDR, INDEX, V1, SCALE) \
10775 __builtin_ia32_scatterdiv8df ((void *) (ADDR), (__mmask8)0xFF, \
10776 (__v8di)(__m512i) (INDEX), \
10777 (__v8df)(__m512d) (V1), (int) (SCALE))
10779#define _mm512_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
10780 __builtin_ia32_scatterdiv8df ((void *) (ADDR), (__mmask8) (MASK), \
10781 (__v8di)(__m512i) (INDEX), \
10782 (__v8df)(__m512d) (V1), (int) (SCALE))
10784#define _mm512_i32scatter_epi32(ADDR, INDEX, V1, SCALE) \
10785 __builtin_ia32_scattersiv16si ((void *) (ADDR), (__mmask16)0xFFFF, \
10786 (__v16si)(__m512i) (INDEX), \
10787 (__v16si)(__m512i) (V1), (int) (SCALE))
10789#define _mm512_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
10790 __builtin_ia32_scattersiv16si ((void *) (ADDR), (__mmask16) (MASK), \
10791 (__v16si)(__m512i) (INDEX), \
10792 (__v16si)(__m512i) (V1), (int) (SCALE))
10794#define _mm512_i32scatter_epi64(ADDR, INDEX, V1, SCALE) \
10795 __builtin_ia32_scattersiv8di ((void *) (ADDR), (__mmask8)0xFF, \
10796 (__v8si)(__m256i) (INDEX), \
10797 (__v8di)(__m512i) (V1), (int) (SCALE))
10799#define _mm512_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
10800 __builtin_ia32_scattersiv8di ((void *) (ADDR), (__mmask8) (MASK), \
10801 (__v8si)(__m256i) (INDEX), \
10802 (__v8di)(__m512i) (V1), (int) (SCALE))
10804#define _mm512_i64scatter_epi32(ADDR, INDEX, V1, SCALE) \
10805 __builtin_ia32_scatterdiv16si ((void *) (ADDR), (__mmask8)0xFF, \
10806 (__v8di)(__m512i) (INDEX), \
10807 (__v8si)(__m256i) (V1), (int) (SCALE))
10809#define _mm512_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
10810 __builtin_ia32_scatterdiv16si ((void *) (ADDR), (__mmask8) (MASK), \
10811 (__v8di)(__m512i) (INDEX), \
10812 (__v8si)(__m256i) (V1), (int) (SCALE))
10814#define _mm512_i64scatter_epi64(ADDR, INDEX, V1, SCALE) \
10815 __builtin_ia32_scatterdiv8di ((void *) (ADDR), (__mmask8)0xFF, \
10816 (__v8di)(__m512i) (INDEX), \
10817 (__v8di)(__m512i) (V1), (int) (SCALE))
10819#define _mm512_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
10820 __builtin_ia32_scatterdiv8di ((void *) (ADDR), (__mmask8) (MASK), \
10821 (__v8di)(__m512i) (INDEX), \
10822 (__v8di)(__m512i) (V1), (int) (SCALE))
10825extern __inline __m512d
10826__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10829 return (__m512d) __builtin_ia32_compressdf512_mask ((__v8df)
__A,
10834extern __inline __m512d
10835__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10838 return (__m512d) __builtin_ia32_compressdf512_mask ((__v8df)
__A,
10840 _mm512_setzero_pd (),
10844extern __inline
void
10845__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10848 __builtin_ia32_compressstoredf512_mask ((__v8df *)
__P, (__v8df)
__A,
10852extern __inline __m512
10853__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10856 return (__m512) __builtin_ia32_compresssf512_mask ((__v16sf)
__A,
10861extern __inline __m512
10862__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10865 return (__m512) __builtin_ia32_compresssf512_mask ((__v16sf)
__A,
10867 _mm512_setzero_ps (),
10871extern __inline
void
10872__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10875 __builtin_ia32_compressstoresf512_mask ((__v16sf *)
__P, (__v16sf)
__A,
10879extern __inline __m512i
10880__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10883 return (__m512i) __builtin_ia32_compressdi512_mask ((__v8di)
__A,
10888extern __inline __m512i
10889__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10892 return (__m512i) __builtin_ia32_compressdi512_mask ((__v8di)
__A,
10894 _mm512_setzero_si512 (),
10898extern __inline
void
10899__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10902 __builtin_ia32_compressstoredi512_mask ((__v8di *)
__P, (__v8di)
__A,
10906extern __inline __m512i
10907__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10910 return (__m512i) __builtin_ia32_compresssi512_mask ((__v16si)
__A,
10915extern __inline __m512i
10916__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10919 return (__m512i) __builtin_ia32_compresssi512_mask ((__v16si)
__A,
10921 _mm512_setzero_si512 (),
10925extern __inline
void
10926__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10929 __builtin_ia32_compressstoresi512_mask ((__v16si *)
__P, (__v16si)
__A,
10933extern __inline __m512d
10934__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10937 return (__m512d) __builtin_ia32_expanddf512_mask ((__v8df)
__A,
10942extern __inline __m512d
10943__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10946 return (__m512d) __builtin_ia32_expanddf512_maskz ((__v8df)
__A,
10948 _mm512_setzero_pd (),
10952extern __inline __m512d
10953__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10956 return (__m512d) __builtin_ia32_expandloaddf512_mask ((
const __v8df *)
__P,
10961extern __inline __m512d
10962__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10965 return (__m512d) __builtin_ia32_expandloaddf512_maskz ((
const __v8df *)
__P,
10967 _mm512_setzero_pd (),
10971extern __inline __m512
10972__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10975 return (__m512) __builtin_ia32_expandsf512_mask ((__v16sf)
__A,
10980extern __inline __m512
10981__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10984 return (__m512) __builtin_ia32_expandsf512_maskz ((__v16sf)
__A,
10986 _mm512_setzero_ps (),
10990extern __inline __m512
10991__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
10994 return (__m512) __builtin_ia32_expandloadsf512_mask ((
const __v16sf *)
__P,
10999extern __inline __m512
11000__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11003 return (__m512) __builtin_ia32_expandloadsf512_maskz ((
const __v16sf *)
__P,
11005 _mm512_setzero_ps (),
11009extern __inline __m512i
11010__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11013 return (__m512i) __builtin_ia32_expanddi512_mask ((__v8di)
__A,
11018extern __inline __m512i
11019__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11022 return (__m512i) __builtin_ia32_expanddi512_maskz ((__v8di)
__A,
11024 _mm512_setzero_si512 (),
11028extern __inline __m512i
11029__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11032 return (__m512i) __builtin_ia32_expandloaddi512_mask ((
const __v8di *)
__P,
11037extern __inline __m512i
11038__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11042 __builtin_ia32_expandloaddi512_maskz ((
const __v8di *)
__P,
11044 _mm512_setzero_si512 (),
11048extern __inline __m512i
11049__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11052 return (__m512i) __builtin_ia32_expandsi512_mask ((__v16si)
__A,
11057extern __inline __m512i
11058__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11061 return (__m512i) __builtin_ia32_expandsi512_maskz ((__v16si)
__A,
11063 _mm512_setzero_si512 (),
11067extern __inline __m512i
11068__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11071 return (__m512i) __builtin_ia32_expandloadsi512_mask ((
const __v16si *)
__P,
11076extern __inline __m512i
11077__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11080 return (__m512i) __builtin_ia32_expandloadsi512_maskz ((
const __v16si *)
__P,
11082 _mm512_setzero_si512
11087#define _kand_mask16 _mm512_kand
11088#define _kandn_mask16 _mm512_kandn
11089#define _knot_mask16 _mm512_knot
11090#define _kor_mask16 _mm512_kor
11091#define _kxnor_mask16 _mm512_kxnor
11092#define _kxor_mask16 _mm512_kxor
11094extern __inline
unsigned char
11095__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11098 *
__CF = (
unsigned char) __builtin_ia32_kortestchi (
__A,
__B);
11099 return (
unsigned char) __builtin_ia32_kortestzhi (
__A,
__B);
11102extern __inline
unsigned char
11103__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11106 return (
unsigned char) __builtin_ia32_kortestzhi ((
__mmask16)
__A,
11110extern __inline
unsigned char
11111__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11114 return (
unsigned char) __builtin_ia32_kortestchi ((
__mmask16)
__A,
11118extern __inline
unsigned int
11119__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11122 return (
unsigned int) __builtin_ia32_kmovw ((
__mmask16 )
__A);
11126__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11127_cvtu32_mask16 (
unsigned int __A)
11133__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11139extern __inline
void
11140__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11147__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11154__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11162__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11169__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11177__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11185__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11192__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11199__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11206__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11213__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11220extern __inline __m512i
11221__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11225 return (__m512i) __builtin_ia32_inserti32x4_mask ((__v16si)
__C,
11229 _mm512_setzero_si512 (),
11233extern __inline __m512
11234__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11238 return (__m512) __builtin_ia32_insertf32x4_mask ((__v16sf)
__C,
11242 _mm512_setzero_ps (),
__B);
11245extern __inline __m512i
11246__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11248 __m128i
__D,
const int __imm)
11250 return (__m512i) __builtin_ia32_inserti32x4_mask ((__v16si)
__C,
11257extern __inline __m512
11258__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11260 __m128
__D,
const int __imm)
11262 return (__m512) __builtin_ia32_insertf32x4_mask ((__v16sf)
__C,
11268#define _mm512_maskz_insertf32x4(A, X, Y, C) \
11269 ((__m512) __builtin_ia32_insertf32x4_mask ((__v16sf)(__m512) (X), \
11270 (__v4sf)(__m128) (Y), (int) (C), (__v16sf)_mm512_setzero_ps(), \
11273#define _mm512_maskz_inserti32x4(A, X, Y, C) \
11274 ((__m512i) __builtin_ia32_inserti32x4_mask ((__v16si)(__m512i) (X), \
11275 (__v4si)(__m128i) (Y), (int) (C), (__v16si)_mm512_setzero_si512 (), \
11278#define _mm512_mask_insertf32x4(A, B, X, Y, C) \
11279 ((__m512) __builtin_ia32_insertf32x4_mask ((__v16sf)(__m512) (X), \
11280 (__v4sf)(__m128) (Y), (int) (C), (__v16sf)(__m512) (A), \
11283#define _mm512_mask_inserti32x4(A, B, X, Y, C) \
11284 ((__m512i) __builtin_ia32_inserti32x4_mask ((__v16si)(__m512i) (X), \
11285 (__v4si)(__m128i) (Y), (int) (C), (__v16si)(__m512i) (A), \
11289extern __inline __m512i
11290__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11291_mm512_max_epi64 (__m512i
__A, __m512i
__B)
11293 return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di)
__A,
11296 _mm512_undefined_epi32 (),
11300extern __inline __m512i
11301__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11304 return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di)
__A,
11307 _mm512_setzero_si512 (),
11311extern __inline __m512i
11312__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11315 return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di)
__A,
11320extern __inline __m512i
11321__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11322_mm512_min_epi64 (__m512i
__A, __m512i
__B)
11324 return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di)
__A,
11327 _mm512_undefined_epi32 (),
11331extern __inline __m512i
11332__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11335 return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di)
__A,
11340extern __inline __m512i
11341__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11344 return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di)
__A,
11347 _mm512_setzero_si512 (),
11351extern __inline __m512i
11352__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11353_mm512_max_epu64 (__m512i
__A, __m512i
__B)
11355 return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di)
__A,
11358 _mm512_undefined_epi32 (),
11362extern __inline __m512i
11363__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11366 return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di)
__A,
11369 _mm512_setzero_si512 (),
11373extern __inline __m512i
11374__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11377 return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di)
__A,
11382extern __inline __m512i
11383__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11384_mm512_min_epu64 (__m512i
__A, __m512i
__B)
11386 return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di)
__A,
11389 _mm512_undefined_epi32 (),
11393extern __inline __m512i
11394__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11397 return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di)
__A,
11402extern __inline __m512i
11403__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11406 return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di)
__A,
11409 _mm512_setzero_si512 (),
11413extern __inline __m512i
11414__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11415_mm512_max_epi32 (__m512i
__A, __m512i
__B)
11417 return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si)
__A,
11420 _mm512_undefined_epi32 (),
11424extern __inline __m512i
11425__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11428 return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si)
__A,
11431 _mm512_setzero_si512 (),
11435extern __inline __m512i
11436__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11439 return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si)
__A,
11444extern __inline __m512i
11445__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11446_mm512_min_epi32 (__m512i
__A, __m512i
__B)
11448 return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si)
__A,
11451 _mm512_undefined_epi32 (),
11455extern __inline __m512i
11456__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11459 return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si)
__A,
11462 _mm512_setzero_si512 (),
11466extern __inline __m512i
11467__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11470 return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si)
__A,
11475extern __inline __m512i
11476__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11477_mm512_max_epu32 (__m512i
__A, __m512i
__B)
11479 return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si)
__A,
11482 _mm512_undefined_epi32 (),
11486extern __inline __m512i
11487__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11490 return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si)
__A,
11493 _mm512_setzero_si512 (),
11497extern __inline __m512i
11498__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11501 return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si)
__A,
11506extern __inline __m512i
11507__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11508_mm512_min_epu32 (__m512i
__A, __m512i
__B)
11510 return (__m512i) __builtin_ia32_pminud512_mask ((__v16si)
__A,
11513 _mm512_undefined_epi32 (),
11517extern __inline __m512i
11518__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11521 return (__m512i) __builtin_ia32_pminud512_mask ((__v16si)
__A,
11524 _mm512_setzero_si512 (),
11528extern __inline __m512i
11529__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11532 return (__m512i) __builtin_ia32_pminud512_mask ((__v16si)
__A,
11537extern __inline __m512
11538__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11539_mm512_unpacklo_ps (__m512
__A, __m512
__B)
11541 return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf)
__A,
11544 _mm512_undefined_ps (),
11548extern __inline __m512
11549__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11552 return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf)
__A,
11558extern __inline __m512
11559__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11562 return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf)
__A,
11565 _mm512_setzero_ps (),
11570extern __inline __m128d
11571__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11574 return (__m128d) __builtin_ia32_maxsd_round ((__v2df)
__A,
11579extern __inline __m128d
11580__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11582 __m128d
__B,
const int __R)
11584 return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df)
__A,
11590extern __inline __m128d
11591__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11595 return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df)
__A,
11602extern __inline __m128
11603__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11606 return (__m128) __builtin_ia32_maxss_round ((__v4sf)
__A,
11611extern __inline __m128
11612__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11614 __m128
__B,
const int __R)
11616 return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf)
__A,
11622extern __inline __m128
11623__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11627 return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf)
__A,
11634extern __inline __m128d
11635__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11638 return (__m128d) __builtin_ia32_minsd_round ((__v2df)
__A,
11643extern __inline __m128d
11644__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11646 __m128d
__B,
const int __R)
11648 return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df)
__A,
11654extern __inline __m128d
11655__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11659 return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df)
__A,
11666extern __inline __m128
11667__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11670 return (__m128) __builtin_ia32_minss_round ((__v4sf)
__A,
11675extern __inline __m128
11676__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11678 __m128
__B,
const int __R)
11680 return (__m128) __builtin_ia32_minss_mask_round ((__v4sf)
__A,
11686extern __inline __m128
11687__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11691 return (__m128) __builtin_ia32_minss_mask_round ((__v4sf)
__A,
11699#define _mm_max_round_sd(A, B, C) \
11700 (__m128d)__builtin_ia32_maxsd_round(A, B, C)
11702#define _mm_mask_max_round_sd(W, U, A, B, C) \
11703 (__m128d)__builtin_ia32_maxsd_mask_round(A, B, W, U, C)
11705#define _mm_maskz_max_round_sd(U, A, B, C) \
11706 (__m128d)__builtin_ia32_maxsd_mask_round(A, B, (__v2df)_mm_setzero_pd(), U, C)
11708#define _mm_max_round_ss(A, B, C) \
11709 (__m128)__builtin_ia32_maxss_round(A, B, C)
11711#define _mm_mask_max_round_ss(W, U, A, B, C) \
11712 (__m128)__builtin_ia32_maxss_mask_round(A, B, W, U, C)
11714#define _mm_maskz_max_round_ss(U, A, B, C) \
11715 (__m128)__builtin_ia32_maxss_mask_round(A, B, (__v4sf)_mm_setzero_ps(), U, C)
11717#define _mm_min_round_sd(A, B, C) \
11718 (__m128d)__builtin_ia32_minsd_round(A, B, C)
11720#define _mm_mask_min_round_sd(W, U, A, B, C) \
11721 (__m128d)__builtin_ia32_minsd_mask_round(A, B, W, U, C)
11723#define _mm_maskz_min_round_sd(U, A, B, C) \
11724 (__m128d)__builtin_ia32_minsd_mask_round(A, B, (__v2df)_mm_setzero_pd(), U, C)
11726#define _mm_min_round_ss(A, B, C) \
11727 (__m128)__builtin_ia32_minss_round(A, B, C)
11729#define _mm_mask_min_round_ss(W, U, A, B, C) \
11730 (__m128)__builtin_ia32_minss_mask_round(A, B, W, U, C)
11732#define _mm_maskz_min_round_ss(U, A, B, C) \
11733 (__m128)__builtin_ia32_minss_mask_round(A, B, (__v4sf)_mm_setzero_ps(), U, C)
11737extern __inline __m512d
11738__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11741 return (__m512d) __builtin_ia32_blendmpd_512_mask ((__v8df)
__A,
11746extern __inline __m512
11747__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11750 return (__m512) __builtin_ia32_blendmps_512_mask ((__v16sf)
__A,
11755extern __inline __m512i
11756__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11759 return (__m512i) __builtin_ia32_blendmq_512_mask ((__v8di)
__A,
11764extern __inline __m512i
11765__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11768 return (__m512i) __builtin_ia32_blendmd_512_mask ((__v16si)
__A,
11774extern __inline __m128d
11775__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11778 return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df)
__W,
11784extern __inline __m128
11785__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11788 return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf)
__W,
11794extern __inline __m128d
11795__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11798 return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df)
__W,
11804extern __inline __m128
11805__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11808 return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf)
__W,
11814extern __inline __m128d
11815__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11818 return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df)
__W,
11824extern __inline __m128
11825__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11828 return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf)
__W,
11834extern __inline __m128d
11835__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11838 return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df)
__W,
11844extern __inline __m128
11845__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11848 return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf)
__W,
11854#define _mm_fmadd_round_sd(A, B, C, R) \
11855 (__m128d)__builtin_ia32_vfmaddsd3_round(A, B, C, R)
11857#define _mm_fmadd_round_ss(A, B, C, R) \
11858 (__m128)__builtin_ia32_vfmaddss3_round(A, B, C, R)
11860#define _mm_fmsub_round_sd(A, B, C, R) \
11861 (__m128d)__builtin_ia32_vfmaddsd3_round(A, B, -(C), R)
11863#define _mm_fmsub_round_ss(A, B, C, R) \
11864 (__m128)__builtin_ia32_vfmaddss3_round(A, B, -(C), R)
11866#define _mm_fnmadd_round_sd(A, B, C, R) \
11867 (__m128d)__builtin_ia32_vfmaddsd3_round(A, -(B), C, R)
11869#define _mm_fnmadd_round_ss(A, B, C, R) \
11870 (__m128)__builtin_ia32_vfmaddss3_round(A, -(B), C, R)
11872#define _mm_fnmsub_round_sd(A, B, C, R) \
11873 (__m128d)__builtin_ia32_vfmaddsd3_round(A, -(B), -(C), R)
11875#define _mm_fnmsub_round_ss(A, B, C, R) \
11876 (__m128)__builtin_ia32_vfmaddss3_round(A, -(B), -(C), R)
11879extern __inline __m128d
11880__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11883 return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df)
__W,
11890extern __inline __m128
11891__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11894 return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf)
__W,
11901extern __inline __m128d
11902__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11905 return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df)
__W,
11912extern __inline __m128
11913__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11916 return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf)
__W,
11923extern __inline __m128d
11924__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11927 return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df)
__W,
11934extern __inline __m128
11935__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11938 return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf)
__W,
11945extern __inline __m128d
11946__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11949 return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df)
__W,
11956extern __inline __m128
11957__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11960 return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf)
__W,
11967extern __inline __m128d
11968__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11971 return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df)
__W,
11978extern __inline __m128
11979__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11982 return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf)
__W,
11989extern __inline __m128d
11990__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
11993 return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df)
__W,
12000extern __inline __m128
12001__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12004 return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf)
__W,
12011extern __inline __m128d
12012__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12015 return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df)
__W,
12022extern __inline __m128
12023__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12026 return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf)
__W,
12033extern __inline __m128d
12034__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12037 return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df)
__W,
12044extern __inline __m128
12045__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12048 return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf)
__W,
12055extern __inline __m128d
12056__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12059 return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df)
__W,
12066extern __inline __m128
12067__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12070 return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf)
__W,
12077extern __inline __m128d
12078__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12081 return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df)
__W,
12088extern __inline __m128
12089__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12092 return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf)
__W,
12099extern __inline __m128d
12100__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12103 return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df)
__W,
12110extern __inline __m128
12111__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12114 return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf)
__W,
12121extern __inline __m128d
12122__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12125 return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df)
__W,
12132extern __inline __m128
12133__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12136 return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf)
__W,
12144extern __inline __m128d
12145__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12149 return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df)
__W,
12155extern __inline __m128
12156__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12160 return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf)
__W,
12166extern __inline __m128d
12167__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12171 return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df)
__W,
12177extern __inline __m128
12178__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12182 return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf)
__W,
12188extern __inline __m128d
12189__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12193 return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df)
__W,
12199extern __inline __m128
12200__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12204 return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf)
__W,
12210extern __inline __m128d
12211__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12215 return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df)
__W,
12221extern __inline __m128
12222__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12226 return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf)
__W,
12232extern __inline __m128d
12233__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12237 return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df)
__W,
12243extern __inline __m128
12244__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12248 return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf)
__W,
12254extern __inline __m128d
12255__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12259 return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df)
__W,
12265extern __inline __m128
12266__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12270 return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf)
__W,
12276extern __inline __m128d
12277__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12281 return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df)
__W,
12287extern __inline __m128
12288__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12292 return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf)
__W,
12298extern __inline __m128d
12299__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12303 return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df)
__W,
12309extern __inline __m128
12310__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12314 return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf)
__W,
12320extern __inline __m128d
12321__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12325 return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df)
__W,
12331extern __inline __m128
12332__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12336 return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf)
__W,
12342extern __inline __m128d
12343__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12347 return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df)
__W,
12353extern __inline __m128
12354__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12358 return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf)
__W,
12364extern __inline __m128d
12365__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12369 return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df)
__W,
12375extern __inline __m128
12376__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12380 return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf)
__W,
12386extern __inline __m128d
12387__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12391 return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df)
__W,
12397extern __inline __m128
12398__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12402 return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf)
__W,
12408#define _mm_mask_fmadd_round_sd(A, U, B, C, R) \
12409 (__m128d) __builtin_ia32_vfmaddsd3_mask (A, B, C, U, R)
12411#define _mm_mask_fmadd_round_ss(A, U, B, C, R) \
12412 (__m128) __builtin_ia32_vfmaddss3_mask (A, B, C, U, R)
12414#define _mm_mask3_fmadd_round_sd(A, B, C, U, R) \
12415 (__m128d) __builtin_ia32_vfmaddsd3_mask3 (A, B, C, U, R)
12417#define _mm_mask3_fmadd_round_ss(A, B, C, U, R) \
12418 (__m128) __builtin_ia32_vfmaddss3_mask3 (A, B, C, U, R)
12420#define _mm_maskz_fmadd_round_sd(U, A, B, C, R) \
12421 (__m128d) __builtin_ia32_vfmaddsd3_maskz (A, B, C, U, R)
12423#define _mm_maskz_fmadd_round_ss(U, A, B, C, R) \
12424 (__m128) __builtin_ia32_vfmaddss3_maskz (A, B, C, U, R)
12426#define _mm_mask_fmsub_round_sd(A, U, B, C, R) \
12427 (__m128d) __builtin_ia32_vfmaddsd3_mask (A, B, -(C), U, R)
12429#define _mm_mask_fmsub_round_ss(A, U, B, C, R) \
12430 (__m128) __builtin_ia32_vfmaddss3_mask (A, B, -(C), U, R)
12432#define _mm_mask3_fmsub_round_sd(A, B, C, U, R) \
12433 (__m128d) __builtin_ia32_vfmsubsd3_mask3 (A, B, C, U, R)
12435#define _mm_mask3_fmsub_round_ss(A, B, C, U, R) \
12436 (__m128) __builtin_ia32_vfmsubss3_mask3 (A, B, C, U, R)
12438#define _mm_maskz_fmsub_round_sd(U, A, B, C, R) \
12439 (__m128d) __builtin_ia32_vfmaddsd3_maskz (A, B, -(C), U, R)
12441#define _mm_maskz_fmsub_round_ss(U, A, B, C, R) \
12442 (__m128) __builtin_ia32_vfmaddss3_maskz (A, B, -(C), U, R)
12444#define _mm_mask_fnmadd_round_sd(A, U, B, C, R) \
12445 (__m128d) __builtin_ia32_vfmaddsd3_mask (A, -(B), C, U, R)
12447#define _mm_mask_fnmadd_round_ss(A, U, B, C, R) \
12448 (__m128) __builtin_ia32_vfmaddss3_mask (A, -(B), C, U, R)
12450#define _mm_mask3_fnmadd_round_sd(A, B, C, U, R) \
12451 (__m128d) __builtin_ia32_vfmaddsd3_mask3 (A, -(B), C, U, R)
12453#define _mm_mask3_fnmadd_round_ss(A, B, C, U, R) \
12454 (__m128) __builtin_ia32_vfmaddss3_mask3 (A, -(B), C, U, R)
12456#define _mm_maskz_fnmadd_round_sd(U, A, B, C, R) \
12457 (__m128d) __builtin_ia32_vfmaddsd3_maskz (A, -(B), C, U, R)
12459#define _mm_maskz_fnmadd_round_ss(U, A, B, C, R) \
12460 (__m128) __builtin_ia32_vfmaddss3_maskz (A, -(B), C, U, R)
12462#define _mm_mask_fnmsub_round_sd(A, U, B, C, R) \
12463 (__m128d) __builtin_ia32_vfmaddsd3_mask (A, -(B), -(C), U, R)
12465#define _mm_mask_fnmsub_round_ss(A, U, B, C, R) \
12466 (__m128) __builtin_ia32_vfmaddss3_mask (A, -(B), -(C), U, R)
12468#define _mm_mask3_fnmsub_round_sd(A, B, C, U, R) \
12469 (__m128d) __builtin_ia32_vfmsubsd3_mask3 (A, -(B), C, U, R)
12471#define _mm_mask3_fnmsub_round_ss(A, B, C, U, R) \
12472 (__m128) __builtin_ia32_vfmsubss3_mask3 (A, -(B), C, U, R)
12474#define _mm_maskz_fnmsub_round_sd(U, A, B, C, R) \
12475 (__m128d) __builtin_ia32_vfmaddsd3_maskz (A, -(B), -(C), U, R)
12477#define _mm_maskz_fnmsub_round_ss(U, A, B, C, R) \
12478 (__m128) __builtin_ia32_vfmaddss3_maskz (A, -(B), -(C), U, R)
12483__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12486 return __builtin_ia32_vcomiss ((__v4sf)
__A, (__v4sf)
__B,
__P,
__R);
12490__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12493 return __builtin_ia32_vcomisd ((__v2df)
__A, (__v2df)
__B,
__P,
__R);
12496#define _mm_comi_round_ss(A, B, C, D)\
12497__builtin_ia32_vcomiss(A, B, C, D)
12498#define _mm_comi_round_sd(A, B, C, D)\
12499__builtin_ia32_vcomisd(A, B, C, D)
12502extern __inline __m512d
12503__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12504_mm512_sqrt_pd (__m512d
__A)
12506 return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df)
__A,
12508 _mm512_undefined_pd (),
12513extern __inline __m512d
12514__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12517 return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df)
__A,
12523extern __inline __m512d
12524__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12527 return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df)
__A,
12529 _mm512_setzero_pd (),
12534extern __inline __m512
12535__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12536_mm512_sqrt_ps (__m512
__A)
12538 return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf)
__A,
12540 _mm512_undefined_ps (),
12545extern __inline __m512
12546__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12549 return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf)
__A,
12555extern __inline __m512
12556__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12559 return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf)
__A,
12561 _mm512_setzero_ps (),
12566extern __inline __m512d
12567__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12568_mm512_add_pd (__m512d
__A, __m512d
__B)
12570 return (__m512d) ((__v8df)
__A + (__v8df)
__B);
12573extern __inline __m512d
12574__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12577 return (__m512d) __builtin_ia32_addpd512_mask ((__v8df)
__A,
12584extern __inline __m512d
12585__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12588 return (__m512d) __builtin_ia32_addpd512_mask ((__v8df)
__A,
12591 _mm512_setzero_pd (),
12596extern __inline __m512
12597__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12598_mm512_add_ps (__m512
__A, __m512
__B)
12600 return (__m512) ((__v16sf)
__A + (__v16sf)
__B);
12603extern __inline __m512
12604__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12607 return (__m512) __builtin_ia32_addps512_mask ((__v16sf)
__A,
12614extern __inline __m512
12615__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12618 return (__m512) __builtin_ia32_addps512_mask ((__v16sf)
__A,
12621 _mm512_setzero_ps (),
12626extern __inline __m128d
12627__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12630 return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df)
__A,
12637extern __inline __m128d
12638__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12641 return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df)
__A,
12649extern __inline __m128
12650__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12653 return (__m128) __builtin_ia32_addss_mask_round ((__v4sf)
__A,
12660extern __inline __m128
12661__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12664 return (__m128) __builtin_ia32_addss_mask_round ((__v4sf)
__A,
12672extern __inline __m512d
12673__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12674_mm512_sub_pd (__m512d
__A, __m512d
__B)
12676 return (__m512d) ((__v8df)
__A - (__v8df)
__B);
12679extern __inline __m512d
12680__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12683 return (__m512d) __builtin_ia32_subpd512_mask ((__v8df)
__A,
12690extern __inline __m512d
12691__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12694 return (__m512d) __builtin_ia32_subpd512_mask ((__v8df)
__A,
12697 _mm512_setzero_pd (),
12702extern __inline __m512
12703__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12704_mm512_sub_ps (__m512
__A, __m512
__B)
12706 return (__m512) ((__v16sf)
__A - (__v16sf)
__B);
12709extern __inline __m512
12710__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12713 return (__m512) __builtin_ia32_subps512_mask ((__v16sf)
__A,
12720extern __inline __m512
12721__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12724 return (__m512) __builtin_ia32_subps512_mask ((__v16sf)
__A,
12727 _mm512_setzero_ps (),
12732extern __inline __m128d
12733__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12736 return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df)
__A,
12743extern __inline __m128d
12744__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12747 return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df)
__A,
12755extern __inline __m128
12756__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12759 return (__m128) __builtin_ia32_subss_mask_round ((__v4sf)
__A,
12766extern __inline __m128
12767__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12770 return (__m128) __builtin_ia32_subss_mask_round ((__v4sf)
__A,
12778extern __inline __m512d
12779__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12780_mm512_mul_pd (__m512d
__A, __m512d
__B)
12782 return (__m512d) ((__v8df)
__A * (__v8df)
__B);
12785extern __inline __m512d
12786__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12789 return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df)
__A,
12796extern __inline __m512d
12797__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12800 return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df)
__A,
12803 _mm512_setzero_pd (),
12808extern __inline __m512
12809__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12810_mm512_mul_ps (__m512
__A, __m512
__B)
12812 return (__m512) ((__v16sf)
__A * (__v16sf)
__B);
12815extern __inline __m512
12816__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12819 return (__m512) __builtin_ia32_mulps512_mask ((__v16sf)
__A,
12826extern __inline __m512
12827__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12830 return (__m512) __builtin_ia32_mulps512_mask ((__v16sf)
__A,
12833 _mm512_setzero_ps (),
12838extern __inline __m128d
12839__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12843 return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df)
__A,
12850extern __inline __m128d
12851__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12854 return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df)
__A,
12862extern __inline __m128
12863__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12867 return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf)
__A,
12874extern __inline __m128
12875__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12878 return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf)
__A,
12886extern __inline __m512d
12887__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12890 return (__m512d) ((__v8df)
__M / (__v8df)
__V);
12893extern __inline __m512d
12894__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12897 return (__m512d) __builtin_ia32_divpd512_mask ((__v8df)
__M,
12904extern __inline __m512d
12905__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12908 return (__m512d) __builtin_ia32_divpd512_mask ((__v8df)
__M,
12911 _mm512_setzero_pd (),
12916extern __inline __m512
12917__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12918_mm512_div_ps (__m512
__A, __m512
__B)
12920 return (__m512) ((__v16sf)
__A / (__v16sf)
__B);
12923extern __inline __m512
12924__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12927 return (__m512) __builtin_ia32_divps512_mask ((__v16sf)
__A,
12934extern __inline __m512
12935__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12938 return (__m512) __builtin_ia32_divps512_mask ((__v16sf)
__A,
12941 _mm512_setzero_ps (),
12946extern __inline __m128d
12947__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12951 return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df)
__A,
12958extern __inline __m128d
12959__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12962 return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df)
__A,
12970extern __inline __m128
12971__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12975 return (__m128) __builtin_ia32_divss_mask_round ((__v4sf)
__A,
12982extern __inline __m128
12983__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12986 return (__m128) __builtin_ia32_divss_mask_round ((__v4sf)
__A,
12994extern __inline __m512d
12995__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
12996_mm512_max_pd (__m512d
__A, __m512d
__B)
12998 return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df)
__A,
13001 _mm512_undefined_pd (),
13006extern __inline __m512d
13007__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13010 return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df)
__A,
13017extern __inline __m512d
13018__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13021 return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df)
__A,
13024 _mm512_setzero_pd (),
13029extern __inline __m512
13030__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13031_mm512_max_ps (__m512
__A, __m512
__B)
13033 return (__m512) __builtin_ia32_maxps512_mask ((__v16sf)
__A,
13036 _mm512_undefined_ps (),
13041extern __inline __m512
13042__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13045 return (__m512) __builtin_ia32_maxps512_mask ((__v16sf)
__A,
13052extern __inline __m512
13053__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13056 return (__m512) __builtin_ia32_maxps512_mask ((__v16sf)
__A,
13059 _mm512_setzero_ps (),
13064extern __inline __m128d
13065__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13068 return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df)
__A,
13075extern __inline __m128d
13076__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13079 return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df)
__A,
13087extern __inline __m128
13088__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13091 return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf)
__A,
13098extern __inline __m128
13099__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13102 return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf)
__A,
13110extern __inline __m512d
13111__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13112_mm512_min_pd (__m512d
__A, __m512d
__B)
13114 return (__m512d) __builtin_ia32_minpd512_mask ((__v8df)
__A,
13117 _mm512_undefined_pd (),
13122extern __inline __m512d
13123__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13126 return (__m512d) __builtin_ia32_minpd512_mask ((__v8df)
__A,
13133extern __inline __m512d
13134__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13137 return (__m512d) __builtin_ia32_minpd512_mask ((__v8df)
__A,
13140 _mm512_setzero_pd (),
13145extern __inline __m512
13146__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13147_mm512_min_ps (__m512
__A, __m512
__B)
13149 return (__m512) __builtin_ia32_minps512_mask ((__v16sf)
__A,
13152 _mm512_undefined_ps (),
13157extern __inline __m512
13158__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13161 return (__m512) __builtin_ia32_minps512_mask ((__v16sf)
__A,
13168extern __inline __m512
13169__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13172 return (__m512) __builtin_ia32_minps512_mask ((__v16sf)
__A,
13175 _mm512_setzero_ps (),
13180extern __inline __m128d
13181__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13184 return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df)
__A,
13191extern __inline __m128d
13192__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13195 return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df)
__A,
13203extern __inline __m128
13204__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13207 return (__m128) __builtin_ia32_minss_mask_round ((__v4sf)
__A,
13214extern __inline __m128
13215__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13218 return (__m128) __builtin_ia32_minss_mask_round ((__v4sf)
__A,
13226extern __inline __m512d
13227__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13228_mm512_scalef_pd (__m512d
__A, __m512d
__B)
13230 return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df)
__A,
13233 _mm512_undefined_pd (),
13238extern __inline __m512d
13239__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13242 return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df)
__A,
13249extern __inline __m512d
13250__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13253 return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df)
__A,
13256 _mm512_setzero_pd (),
13261extern __inline __m512
13262__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13263_mm512_scalef_ps (__m512
__A, __m512
__B)
13265 return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf)
__A,
13268 _mm512_undefined_ps (),
13273extern __inline __m512
13274__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13277 return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf)
__A,
13284extern __inline __m512
13285__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13288 return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf)
__A,
13291 _mm512_setzero_ps (),
13296extern __inline __m128d
13297__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13298_mm_scalef_sd (__m128d
__A, __m128d
__B)
13300 return (__m128d) __builtin_ia32_scalefsd_mask_round ((__v2df)
__A,
13308extern __inline __m128
13309__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13310_mm_scalef_ss (__m128
__A, __m128
__B)
13312 return (__m128) __builtin_ia32_scalefss_mask_round ((__v4sf)
__A,
13320extern __inline __m512d
13321__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13322_mm512_fmadd_pd (__m512d
__A, __m512d
__B, __m512d
__C)
13324 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df)
__A,
13331extern __inline __m512d
13332__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13335 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df)
__A,
13342extern __inline __m512d
13343__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13346 return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df)
__A,
13353extern __inline __m512d
13354__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13357 return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df)
__A,
13364extern __inline __m512
13365__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13366_mm512_fmadd_ps (__m512
__A, __m512
__B, __m512
__C)
13368 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf)
__A,
13375extern __inline __m512
13376__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13379 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf)
__A,
13386extern __inline __m512
13387__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13390 return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf)
__A,
13397extern __inline __m512
13398__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13401 return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf)
__A,
13408extern __inline __m512d
13409__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13410_mm512_fmsub_pd (__m512d
__A, __m512d
__B, __m512d
__C)
13412 return (__m512d) __builtin_ia32_vfmsubpd512_mask ((__v8df)
__A,
13419extern __inline __m512d
13420__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13423 return (__m512d) __builtin_ia32_vfmsubpd512_mask ((__v8df)
__A,
13430extern __inline __m512d
13431__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13434 return (__m512d) __builtin_ia32_vfmsubpd512_mask3 ((__v8df)
__A,
13441extern __inline __m512d
13442__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13445 return (__m512d) __builtin_ia32_vfmsubpd512_maskz ((__v8df)
__A,
13452extern __inline __m512
13453__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13454_mm512_fmsub_ps (__m512
__A, __m512
__B, __m512
__C)
13456 return (__m512) __builtin_ia32_vfmsubps512_mask ((__v16sf)
__A,
13463extern __inline __m512
13464__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13467 return (__m512) __builtin_ia32_vfmsubps512_mask ((__v16sf)
__A,
13474extern __inline __m512
13475__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13478 return (__m512) __builtin_ia32_vfmsubps512_mask3 ((__v16sf)
__A,
13485extern __inline __m512
13486__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13489 return (__m512) __builtin_ia32_vfmsubps512_maskz ((__v16sf)
__A,
13496extern __inline __m512d
13497__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13498_mm512_fmaddsub_pd (__m512d
__A, __m512d
__B, __m512d
__C)
13500 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df)
__A,
13507extern __inline __m512d
13508__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13511 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df)
__A,
13518extern __inline __m512d
13519__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13522 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask3 ((__v8df)
__A,
13529extern __inline __m512d
13530__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13533 return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df)
__A,
13540extern __inline __m512
13541__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13542_mm512_fmaddsub_ps (__m512
__A, __m512
__B, __m512
__C)
13544 return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf)
__A,
13551extern __inline __m512
13552__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13555 return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf)
__A,
13562extern __inline __m512
13563__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13566 return (__m512) __builtin_ia32_vfmaddsubps512_mask3 ((__v16sf)
__A,
13573extern __inline __m512
13574__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13577 return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf)
__A,
13584extern __inline __m512d
13585__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13586_mm512_fmsubadd_pd (__m512d
__A, __m512d
__B, __m512d
__C)
13588 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df)
__A,
13595extern __inline __m512d
13596__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13599 return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df)
__A,
13606extern __inline __m512d
13607__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13610 return (__m512d) __builtin_ia32_vfmsubaddpd512_mask3 ((__v8df)
__A,
13617extern __inline __m512d
13618__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13621 return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df)
__A,
13628extern __inline __m512
13629__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13630_mm512_fmsubadd_ps (__m512
__A, __m512
__B, __m512
__C)
13632 return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf)
__A,
13639extern __inline __m512
13640__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13643 return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf)
__A,
13650extern __inline __m512
13651__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13654 return (__m512) __builtin_ia32_vfmsubaddps512_mask3 ((__v16sf)
__A,
13661extern __inline __m512
13662__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13665 return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf)
__A,
13672extern __inline __m512d
13673__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13674_mm512_fnmadd_pd (__m512d
__A, __m512d
__B, __m512d
__C)
13676 return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df)
__A,
13683extern __inline __m512d
13684__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13687 return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df)
__A,
13694extern __inline __m512d
13695__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13698 return (__m512d) __builtin_ia32_vfnmaddpd512_mask3 ((__v8df)
__A,
13705extern __inline __m512d
13706__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13709 return (__m512d) __builtin_ia32_vfnmaddpd512_maskz ((__v8df)
__A,
13716extern __inline __m512
13717__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13718_mm512_fnmadd_ps (__m512
__A, __m512
__B, __m512
__C)
13720 return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf)
__A,
13727extern __inline __m512
13728__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13731 return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf)
__A,
13738extern __inline __m512
13739__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13742 return (__m512) __builtin_ia32_vfnmaddps512_mask3 ((__v16sf)
__A,
13749extern __inline __m512
13750__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13753 return (__m512) __builtin_ia32_vfnmaddps512_maskz ((__v16sf)
__A,
13760extern __inline __m512d
13761__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13762_mm512_fnmsub_pd (__m512d
__A, __m512d
__B, __m512d
__C)
13764 return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df)
__A,
13771extern __inline __m512d
13772__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13775 return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df)
__A,
13782extern __inline __m512d
13783__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13786 return (__m512d) __builtin_ia32_vfnmsubpd512_mask3 ((__v8df)
__A,
13793extern __inline __m512d
13794__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13797 return (__m512d) __builtin_ia32_vfnmsubpd512_maskz ((__v8df)
__A,
13804extern __inline __m512
13805__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13806_mm512_fnmsub_ps (__m512
__A, __m512
__B, __m512
__C)
13808 return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf)
__A,
13815extern __inline __m512
13816__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13819 return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf)
__A,
13826extern __inline __m512
13827__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13830 return (__m512) __builtin_ia32_vfnmsubps512_mask3 ((__v16sf)
__A,
13837extern __inline __m512
13838__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13841 return (__m512) __builtin_ia32_vfnmsubps512_maskz ((__v16sf)
__A,
13848extern __inline __m256i
13849__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13850_mm512_cvttpd_epi32 (__m512d
__A)
13852 return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df)
__A,
13854 _mm256_undefined_si256 (),
13859extern __inline __m256i
13860__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13863 return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df)
__A,
13869extern __inline __m256i
13870__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13873 return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df)
__A,
13875 _mm256_setzero_si256 (),
13880extern __inline __m256i
13881__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13882_mm512_cvttpd_epu32 (__m512d
__A)
13884 return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df)
__A,
13886 _mm256_undefined_si256 (),
13891extern __inline __m256i
13892__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13895 return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df)
__A,
13901extern __inline __m256i
13902__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13905 return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df)
__A,
13907 _mm256_setzero_si256 (),
13912extern __inline __m256i
13913__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13914_mm512_cvtpd_epi32 (__m512d
__A)
13916 return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df)
__A,
13918 _mm256_undefined_si256 (),
13923extern __inline __m256i
13924__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13927 return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df)
__A,
13933extern __inline __m256i
13934__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13937 return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df)
__A,
13939 _mm256_setzero_si256 (),
13944extern __inline __m256i
13945__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13946_mm512_cvtpd_epu32 (__m512d
__A)
13948 return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df)
__A,
13950 _mm256_undefined_si256 (),
13955extern __inline __m256i
13956__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13959 return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df)
__A,
13965extern __inline __m256i
13966__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13969 return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df)
__A,
13971 _mm256_setzero_si256 (),
13976extern __inline __m512i
13977__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13978_mm512_cvttps_epi32 (__m512
__A)
13980 return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf)
__A,
13982 _mm512_undefined_epi32 (),
13987extern __inline __m512i
13988__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
13991 return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf)
__A,
13997extern __inline __m512i
13998__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14001 return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf)
__A,
14003 _mm512_setzero_si512 (),
14008extern __inline __m512i
14009__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14010_mm512_cvttps_epu32 (__m512
__A)
14012 return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf)
__A,
14014 _mm512_undefined_epi32 (),
14019extern __inline __m512i
14020__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14023 return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf)
__A,
14029extern __inline __m512i
14030__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14033 return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf)
__A,
14035 _mm512_setzero_si512 (),
14040extern __inline __m512i
14041__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14042_mm512_cvtps_epi32 (__m512
__A)
14044 return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf)
__A,
14046 _mm512_undefined_epi32 (),
14051extern __inline __m512i
14052__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14055 return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf)
__A,
14061extern __inline __m512i
14062__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14065 return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf)
__A,
14067 _mm512_setzero_si512 (),
14072extern __inline __m512i
14073__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14074_mm512_cvtps_epu32 (__m512
__A)
14076 return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf)
__A,
14078 _mm512_undefined_epi32 (),
14083extern __inline __m512i
14084__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14087 return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf)
__A,
14093extern __inline __m512i
14094__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14097 return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf)
__A,
14099 _mm512_setzero_si512 (),
14104extern __inline
double
14105__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14106_mm512_cvtsd_f64 (__m512d
__A)
14111extern __inline
float
14112__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14113_mm512_cvtss_f32 (__m512
__A)
14119extern __inline __m128
14120__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14121_mm_cvtu64_ss (__m128
__A,
unsigned long long __B)
14123 return (__m128) __builtin_ia32_cvtusi2ss64 ((__v4sf)
__A,
__B,
14127extern __inline __m128d
14128__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14129_mm_cvtu64_sd (__m128d
__A,
unsigned long long __B)
14131 return (__m128d) __builtin_ia32_cvtusi2sd64 ((__v2df)
__A,
__B,
14136extern __inline __m128
14137__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14138_mm_cvtu32_ss (__m128
__A,
unsigned __B)
14140 return (__m128) __builtin_ia32_cvtusi2ss32 ((__v4sf)
__A,
__B,
14144extern __inline __m512
14145__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14146_mm512_cvtepi32_ps (__m512i
__A)
14148 return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si)
__A,
14150 _mm512_undefined_ps (),
14155extern __inline __m512
14156__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14159 return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si)
__A,
14165extern __inline __m512
14166__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14169 return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si)
__A,
14171 _mm512_setzero_ps (),
14176extern __inline __m512
14177__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14178_mm512_cvtepu32_ps (__m512i
__A)
14180 return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si)
__A,
14182 _mm512_undefined_ps (),
14187extern __inline __m512
14188__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14191 return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si)
__A,
14197extern __inline __m512
14198__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14201 return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si)
__A,
14203 _mm512_setzero_ps (),
14209extern __inline __m512d
14210__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14213 return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df)
__A,
14221extern __inline __m512d
14222__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14224 __m512i
__C,
const int __imm)
14226 return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df)
__A,
14234extern __inline __m512d
14235__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14237 __m512i
__C,
const int __imm)
14239 return (__m512d) __builtin_ia32_fixupimmpd512_maskz ((__v8df)
__A,
14247extern __inline __m512
14248__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14251 return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf)
__A,
14259extern __inline __m512
14260__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14262 __m512i
__C,
const int __imm)
14264 return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf)
__A,
14272extern __inline __m512
14273__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14275 __m512i
__C,
const int __imm)
14277 return (__m512) __builtin_ia32_fixupimmps512_maskz ((__v16sf)
__A,
14285extern __inline __m128d
14286__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14289 return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df)
__A,
14291 (__v2di)
__C, __imm,
14296extern __inline __m128d
14297__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14299 __m128i
__C,
const int __imm)
14301 return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df)
__A,
14303 (__v2di)
__C, __imm,
14308extern __inline __m128d
14309__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14311 __m128i
__C,
const int __imm)
14313 return (__m128d) __builtin_ia32_fixupimmsd_maskz ((__v2df)
__A,
14321extern __inline __m128
14322__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14325 return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf)
__A,
14327 (__v4si)
__C, __imm,
14332extern __inline __m128
14333__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14335 __m128i
__C,
const int __imm)
14337 return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf)
__A,
14339 (__v4si)
__C, __imm,
14344extern __inline __m128
14345__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14347 __m128i
__C,
const int __imm)
14349 return (__m128) __builtin_ia32_fixupimmss_maskz ((__v4sf)
__A,
14351 (__v4si)
__C, __imm,
14356#define _mm512_fixupimm_pd(X, Y, Z, C) \
14357 ((__m512d)__builtin_ia32_fixupimmpd512_mask ((__v8df)(__m512d)(X), \
14358 (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C), \
14359 (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
14361#define _mm512_mask_fixupimm_pd(X, U, Y, Z, C) \
14362 ((__m512d)__builtin_ia32_fixupimmpd512_mask ((__v8df)(__m512d)(X), \
14363 (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C), \
14364 (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
14366#define _mm512_maskz_fixupimm_pd(U, X, Y, Z, C) \
14367 ((__m512d)__builtin_ia32_fixupimmpd512_maskz ((__v8df)(__m512d)(X), \
14368 (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C), \
14369 (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
14371#define _mm512_fixupimm_ps(X, Y, Z, C) \
14372 ((__m512)__builtin_ia32_fixupimmps512_mask ((__v16sf)(__m512)(X), \
14373 (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C), \
14374 (__mmask16)(-1), _MM_FROUND_CUR_DIRECTION))
14376#define _mm512_mask_fixupimm_ps(X, U, Y, Z, C) \
14377 ((__m512)__builtin_ia32_fixupimmps512_mask ((__v16sf)(__m512)(X), \
14378 (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C), \
14379 (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
14381#define _mm512_maskz_fixupimm_ps(U, X, Y, Z, C) \
14382 ((__m512)__builtin_ia32_fixupimmps512_maskz ((__v16sf)(__m512)(X), \
14383 (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C), \
14384 (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
14386#define _mm_fixupimm_sd(X, Y, Z, C) \
14387 ((__m128d)__builtin_ia32_fixupimmsd_mask ((__v2df)(__m128d)(X), \
14388 (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C), \
14389 (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
14391#define _mm_mask_fixupimm_sd(X, U, Y, Z, C) \
14392 ((__m128d)__builtin_ia32_fixupimmsd_mask ((__v2df)(__m128d)(X), \
14393 (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C), \
14394 (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
14396#define _mm_maskz_fixupimm_sd(U, X, Y, Z, C) \
14397 ((__m128d)__builtin_ia32_fixupimmsd_maskz ((__v2df)(__m128d)(X), \
14398 (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C), \
14399 (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
14401#define _mm_fixupimm_ss(X, Y, Z, C) \
14402 ((__m128)__builtin_ia32_fixupimmss_mask ((__v4sf)(__m128)(X), \
14403 (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C), \
14404 (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
14406#define _mm_mask_fixupimm_ss(X, U, Y, Z, C) \
14407 ((__m128)__builtin_ia32_fixupimmss_mask ((__v4sf)(__m128)(X), \
14408 (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C), \
14409 (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
14411#define _mm_maskz_fixupimm_ss(U, X, Y, Z, C) \
14412 ((__m128)__builtin_ia32_fixupimmss_maskz ((__v4sf)(__m128)(X), \
14413 (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C), \
14414 (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
14418extern __inline
unsigned long long
14419__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14420_mm_cvtss_u64 (__m128
__A)
14422 return (
unsigned long long) __builtin_ia32_vcvtss2usi64 ((__v4sf)
14427extern __inline
unsigned long long
14428__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14429_mm_cvttss_u64 (__m128
__A)
14431 return (
unsigned long long) __builtin_ia32_vcvttss2usi64 ((__v4sf)
14436extern __inline
long long
14437__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14438_mm_cvttss_i64 (__m128
__A)
14440 return (
long long) __builtin_ia32_vcvttss2si64 ((__v4sf)
__A,
14446__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14447_mm512_cvtsi512_si32 (__m512i
__A)
14449 __v16si
__B = (__v16si)
__A;
14453extern __inline
unsigned
14454__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14455_mm_cvtss_u32 (__m128
__A)
14457 return (
unsigned) __builtin_ia32_vcvtss2usi32 ((__v4sf)
__A,
14461extern __inline
unsigned
14462__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14463_mm_cvttss_u32 (__m128
__A)
14465 return (
unsigned) __builtin_ia32_vcvttss2usi32 ((__v4sf)
__A,
14470__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14471_mm_cvttss_i32 (__m128
__A)
14473 return (
int) __builtin_ia32_vcvttss2si32 ((__v4sf)
__A,
14478__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14479_mm_cvtsd_i32 (__m128d
__A)
14481 return (
int) __builtin_ia32_cvtsd2si ((__v2df)
__A);
14485__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14486_mm_cvtss_i32 (__m128
__A)
14488 return (
int) __builtin_ia32_cvtss2si ((__v4sf)
__A);
14491extern __inline __m128d
14492__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14493_mm_cvti32_sd (__m128d
__A,
int __B)
14495 return (__m128d) __builtin_ia32_cvtsi2sd ((__v2df)
__A,
__B);
14498extern __inline __m128
14499__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14500_mm_cvti32_ss (__m128
__A,
int __B)
14502 return (__m128) __builtin_ia32_cvtsi2ss ((__v4sf)
__A,
__B);
14506extern __inline
unsigned long long
14507__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14508_mm_cvtsd_u64 (__m128d
__A)
14510 return (
unsigned long long) __builtin_ia32_vcvtsd2usi64 ((__v2df)
14515extern __inline
unsigned long long
14516__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14517_mm_cvttsd_u64 (__m128d
__A)
14519 return (
unsigned long long) __builtin_ia32_vcvttsd2usi64 ((__v2df)
14524extern __inline
long long
14525__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14526_mm_cvttsd_i64 (__m128d
__A)
14528 return (
long long) __builtin_ia32_vcvttsd2si64 ((__v2df)
__A,
14532extern __inline
long long
14533__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14534_mm_cvtsd_i64 (__m128d
__A)
14536 return (
long long) __builtin_ia32_cvtsd2si64 ((__v2df)
__A);
14539extern __inline
long long
14540__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14541_mm_cvtss_i64 (__m128
__A)
14543 return (
long long) __builtin_ia32_cvtss2si64 ((__v4sf)
__A);
14546extern __inline __m128d
14547__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14548_mm_cvti64_sd (__m128d
__A,
long long __B)
14550 return (__m128d) __builtin_ia32_cvtsi642sd ((__v2df)
__A,
__B);
14553extern __inline __m128
14554__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14555_mm_cvti64_ss (__m128
__A,
long long __B)
14557 return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf)
__A,
__B);
14561extern __inline
unsigned
14562__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14563_mm_cvtsd_u32 (__m128d
__A)
14565 return (
unsigned) __builtin_ia32_vcvtsd2usi32 ((__v2df)
__A,
14569extern __inline
unsigned
14570__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14571_mm_cvttsd_u32 (__m128d
__A)
14573 return (
unsigned) __builtin_ia32_vcvttsd2usi32 ((__v2df)
__A,
14578__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14579_mm_cvttsd_i32 (__m128d
__A)
14581 return (
int) __builtin_ia32_vcvttsd2si32 ((__v2df)
__A,
14585extern __inline __m512d
14586__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14587_mm512_cvtps_pd (__m256
__A)
14589 return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf)
__A,
14591 _mm512_undefined_pd (),
14596extern __inline __m512d
14597__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14600 return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf)
__A,
14606extern __inline __m512d
14607__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14610 return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf)
__A,
14612 _mm512_setzero_pd (),
14617extern __inline __m512
14618__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14619_mm512_cvtph_ps (__m256i
__A)
14621 return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi)
__A,
14623 _mm512_undefined_ps (),
14628extern __inline __m512
14629__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14632 return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi)
__A,
14638extern __inline __m512
14639__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14642 return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi)
__A,
14644 _mm512_setzero_ps (),
14649extern __inline __m256
14650__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14651_mm512_cvtpd_ps (__m512d
__A)
14653 return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df)
__A,
14655 _mm256_undefined_ps (),
14660extern __inline __m256
14661__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14664 return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df)
__A,
14670extern __inline __m256
14671__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14674 return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df)
__A,
14676 _mm256_setzero_ps (),
14682extern __inline __m512
14683__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14686 return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf)
__A,
14688 _mm512_undefined_ps (),
14693extern __inline __m512
14694__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14697 return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf)
__A,
14703extern __inline __m512
14704__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14707 return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf)
__A,
14709 _mm512_setzero_ps (),
14714extern __inline __m512d
14715__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14718 return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df)
__A,
14720 _mm512_undefined_pd (),
14725extern __inline __m512d
14726__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14729 return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df)
__A,
14735extern __inline __m512d
14736__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14739 return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df)
__A,
14741 _mm512_setzero_pd (),
14746extern __inline __m128
14747__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14750 return (__m128) __builtin_ia32_getexpss128_round ((__v4sf)
__A,
14755extern __inline __m128
14756__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14759 return (__m128) __builtin_ia32_getexpss_mask_round ((__v4sf)
__A,
14766extern __inline __m128
14767__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14770 return (__m128) __builtin_ia32_getexpss_mask_round ((__v4sf)
__A,
14778extern __inline __m128d
14779__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14782 return (__m128d) __builtin_ia32_getexpsd128_round ((__v2df)
__A,
14787extern __inline __m128d
14788__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14791 return (__m128d) __builtin_ia32_getexpsd_mask_round ((__v2df)
__A,
14798extern __inline __m128d
14799__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14802 return (__m128d) __builtin_ia32_getexpsd_mask_round ((__v2df)
__A,
14810extern __inline __m512d
14811__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14815 return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df)
__A,
14817 _mm512_undefined_pd (),
14822extern __inline __m512d
14823__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14827 return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df)
__A,
14833extern __inline __m512d
14834__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14838 return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df)
__A,
14841 _mm512_setzero_pd (),
14846extern __inline __m512
14847__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14851 return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf)
__A,
14853 _mm512_undefined_ps (),
14858extern __inline __m512
14859__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14863 return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf)
__A,
14869extern __inline __m512
14870__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14874 return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf)
__A,
14877 _mm512_setzero_ps (),
14882extern __inline __m128d
14883__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14887 return (__m128d) __builtin_ia32_getmantsd_round ((__v2df)
__A,
14893extern __inline __m128d
14894__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14898 return (__m128d) __builtin_ia32_getmantsd_mask_round ((__v2df)
__A,
14906extern __inline __m128d
14907__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14911 return (__m128d) __builtin_ia32_getmantsd_mask_round ((__v2df)
__A,
14920extern __inline __m128
14921__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14925 return (__m128) __builtin_ia32_getmantss_round ((__v4sf)
__A,
14931extern __inline __m128
14932__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14936 return (__m128) __builtin_ia32_getmantss_mask_round ((__v4sf)
__A,
14944extern __inline __m128
14945__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
14949 return (__m128) __builtin_ia32_getmantss_mask_round ((__v4sf)
__A,
14959#define _mm512_getmant_pd(X, B, C) \
14960 ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X), \
14961 (int)(((C)<<2) | (B)), \
14962 (__v8df)_mm512_undefined_pd(), \
14964 _MM_FROUND_CUR_DIRECTION))
14966#define _mm512_mask_getmant_pd(W, U, X, B, C) \
14967 ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X), \
14968 (int)(((C)<<2) | (B)), \
14969 (__v8df)(__m512d)(W), \
14971 _MM_FROUND_CUR_DIRECTION))
14973#define _mm512_maskz_getmant_pd(U, X, B, C) \
14974 ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X), \
14975 (int)(((C)<<2) | (B)), \
14976 (__v8df)_mm512_setzero_pd(), \
14978 _MM_FROUND_CUR_DIRECTION))
14979#define _mm512_getmant_ps(X, B, C) \
14980 ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X), \
14981 (int)(((C)<<2) | (B)), \
14982 (__v16sf)_mm512_undefined_ps(), \
14984 _MM_FROUND_CUR_DIRECTION))
14986#define _mm512_mask_getmant_ps(W, U, X, B, C) \
14987 ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X), \
14988 (int)(((C)<<2) | (B)), \
14989 (__v16sf)(__m512)(W), \
14991 _MM_FROUND_CUR_DIRECTION))
14993#define _mm512_maskz_getmant_ps(U, X, B, C) \
14994 ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X), \
14995 (int)(((C)<<2) | (B)), \
14996 (__v16sf)_mm512_setzero_ps(), \
14998 _MM_FROUND_CUR_DIRECTION))
14999#define _mm_getmant_sd(X, Y, C, D) \
15000 ((__m128d)__builtin_ia32_getmantsd_round ((__v2df)(__m128d)(X), \
15001 (__v2df)(__m128d)(Y), \
15002 (int)(((D)<<2) | (C)), \
15003 _MM_FROUND_CUR_DIRECTION))
15005#define _mm_mask_getmant_sd(W, U, X, Y, C, D) \
15006 ((__m128d)__builtin_ia32_getmantsd_mask_round ((__v2df)(__m128d)(X), \
15007 (__v2df)(__m128d)(Y), \
15008 (int)(((D)<<2) | (C)), \
15009 (__v2df)(__m128d)(W), \
15011 _MM_FROUND_CUR_DIRECTION))
15013#define _mm_maskz_getmant_sd(U, X, Y, C, D) \
15014 ((__m128d)__builtin_ia32_getmantsd_mask_round ((__v2df)(__m128d)(X), \
15015 (__v2df)(__m128d)(Y), \
15016 (int)(((D)<<2) | (C)), \
15017 (__v2df)_mm_setzero_pd(), \
15019 _MM_FROUND_CUR_DIRECTION))
15021#define _mm_getmant_ss(X, Y, C, D) \
15022 ((__m128)__builtin_ia32_getmantss_round ((__v4sf)(__m128)(X), \
15023 (__v4sf)(__m128)(Y), \
15024 (int)(((D)<<2) | (C)), \
15025 _MM_FROUND_CUR_DIRECTION))
15027#define _mm_mask_getmant_ss(W, U, X, Y, C, D) \
15028 ((__m128)__builtin_ia32_getmantss_mask_round ((__v4sf)(__m128)(X), \
15029 (__v4sf)(__m128)(Y), \
15030 (int)(((D)<<2) | (C)), \
15031 (__v4sf)(__m128)(W), \
15033 _MM_FROUND_CUR_DIRECTION))
15035#define _mm_maskz_getmant_ss(U, X, Y, C, D) \
15036 ((__m128)__builtin_ia32_getmantss_mask_round ((__v4sf)(__m128)(X), \
15037 (__v4sf)(__m128)(Y), \
15038 (int)(((D)<<2) | (C)), \
15039 (__v4sf)_mm_setzero_ps(), \
15041 _MM_FROUND_CUR_DIRECTION))
15043#define _mm_getexp_ss(A, B) \
15044 ((__m128)__builtin_ia32_getexpss128_round((__v4sf)(__m128)(A), (__v4sf)(__m128)(B), \
15045 _MM_FROUND_CUR_DIRECTION))
15047#define _mm_mask_getexp_ss(W, U, A, B) \
15048 (__m128)__builtin_ia32_getexpss_mask_round(A, B, W, U,\
15049 _MM_FROUND_CUR_DIRECTION)
15051#define _mm_maskz_getexp_ss(U, A, B) \
15052 (__m128)__builtin_ia32_getexpss_mask_round(A, B, (__v4sf)_mm_setzero_ps(), U,\
15053 _MM_FROUND_CUR_DIRECTION)
15055#define _mm_getexp_sd(A, B) \
15056 ((__m128d)__builtin_ia32_getexpsd128_round((__v2df)(__m128d)(A), (__v2df)(__m128d)(B),\
15057 _MM_FROUND_CUR_DIRECTION))
15059#define _mm_mask_getexp_sd(W, U, A, B) \
15060 (__m128d)__builtin_ia32_getexpsd_mask_round(A, B, W, U,\
15061 _MM_FROUND_CUR_DIRECTION)
15063#define _mm_maskz_getexp_sd(U, A, B) \
15064 (__m128d)__builtin_ia32_getexpsd_mask_round(A, B, (__v2df)_mm_setzero_pd(), U,\
15065 _MM_FROUND_CUR_DIRECTION)
15067#define _mm512_getexp_ps(A) \
15068 ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
15069 (__v16sf)_mm512_undefined_ps(), (__mmask16)-1, _MM_FROUND_CUR_DIRECTION))
15071#define _mm512_mask_getexp_ps(W, U, A) \
15072 ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
15073 (__v16sf)(__m512)(W), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
15075#define _mm512_maskz_getexp_ps(U, A) \
15076 ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A), \
15077 (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
15079#define _mm512_getexp_pd(A) \
15080 ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
15081 (__v8df)_mm512_undefined_pd(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION))
15083#define _mm512_mask_getexp_pd(W, U, A) \
15084 ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
15085 (__v8df)(__m512d)(W), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
15087#define _mm512_maskz_getexp_pd(U, A) \
15088 ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A), \
15089 (__v8df)_mm512_setzero_pd(), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
15093extern __inline __m512
15094__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15097 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__A, __imm,
15099 _mm512_undefined_ps (),
15104extern __inline __m512
15105__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15109 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__C, __imm,
15115extern __inline __m512
15116__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15119 return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)
__B,
15122 _mm512_setzero_ps (),
15127extern __inline __m512d
15128__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15131 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__A, __imm,
15133 _mm512_undefined_pd (),
15138extern __inline __m512d
15139__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15143 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__C, __imm,
15149extern __inline __m512d
15150__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15153 return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)
__B,
15156 _mm512_setzero_pd (),
15161extern __inline __m128
15162__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15166 __builtin_ia32_rndscaless_mask_round ((__v4sf)
__A,
15167 (__v4sf)
__B, __imm,
15175extern __inline __m128
15176__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15181 __builtin_ia32_rndscaless_mask_round ((__v4sf)
__C,
15182 (__v4sf)
__D, __imm,
15188extern __inline __m128
15189__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15194 __builtin_ia32_rndscaless_mask_round ((__v4sf)
__B,
15195 (__v4sf)
__C, __imm,
15202extern __inline __m128d
15203__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15207 __builtin_ia32_rndscalesd_mask_round ((__v2df)
__A,
15208 (__v2df)
__B, __imm,
15215extern __inline __m128d
15216__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15221 __builtin_ia32_rndscalesd_mask_round ((__v2df)
__C,
15222 (__v2df)
__D, __imm,
15228extern __inline __m128d
15229__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15234 __builtin_ia32_rndscalesd_mask_round ((__v2df)
__B,
15235 (__v2df)
__C, __imm,
15243#define _mm512_roundscale_ps(A, B) \
15244 ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(A), (int)(B),\
15245 (__v16sf)_mm512_undefined_ps(), (__mmask16)(-1), _MM_FROUND_CUR_DIRECTION))
15246#define _mm512_mask_roundscale_ps(A, B, C, D) \
15247 ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(C), \
15249 (__v16sf)(__m512)(A), \
15250 (__mmask16)(B), _MM_FROUND_CUR_DIRECTION))
15251#define _mm512_maskz_roundscale_ps(A, B, C) \
15252 ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(B), \
15254 (__v16sf)_mm512_setzero_ps(),\
15255 (__mmask16)(A), _MM_FROUND_CUR_DIRECTION))
15256#define _mm512_roundscale_pd(A, B) \
15257 ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(A), (int)(B),\
15258 (__v8df)_mm512_undefined_pd(), (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
15259#define _mm512_mask_roundscale_pd(A, B, C, D) \
15260 ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(C), \
15262 (__v8df)(__m512d)(A), \
15263 (__mmask8)(B), _MM_FROUND_CUR_DIRECTION))
15264#define _mm512_maskz_roundscale_pd(A, B, C) \
15265 ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(B), \
15267 (__v8df)_mm512_setzero_pd(),\
15268 (__mmask8)(A), _MM_FROUND_CUR_DIRECTION))
15269#define _mm_roundscale_ss(A, B, I) \
15271 __builtin_ia32_rndscaless_mask_round ((__v4sf) (__m128) (A), \
15272 (__v4sf) (__m128) (B), \
15274 (__v4sf) _mm_setzero_ps (), \
15276 _MM_FROUND_CUR_DIRECTION))
15277#define _mm_mask_roundscale_ss(A, U, B, C, I) \
15279 __builtin_ia32_rndscaless_mask_round ((__v4sf) (__m128) (B), \
15280 (__v4sf) (__m128) (C), \
15282 (__v4sf) (__m128) (A), \
15284 _MM_FROUND_CUR_DIRECTION))
15285#define _mm_maskz_roundscale_ss(U, A, B, I) \
15287 __builtin_ia32_rndscaless_mask_round ((__v4sf) (__m128) (A), \
15288 (__v4sf) (__m128) (B), \
15290 (__v4sf) _mm_setzero_ps (), \
15292 _MM_FROUND_CUR_DIRECTION))
15293#define _mm_roundscale_sd(A, B, I) \
15295 __builtin_ia32_rndscalesd_mask_round ((__v2df) (__m128d) (A), \
15296 (__v2df) (__m128d) (B), \
15298 (__v2df) _mm_setzero_pd (), \
15300 _MM_FROUND_CUR_DIRECTION))
15301#define _mm_mask_roundscale_sd(A, U, B, C, I) \
15303 __builtin_ia32_rndscalesd_mask_round ((__v2df) (__m128d) (B), \
15304 (__v2df) (__m128d) (C), \
15306 (__v2df) (__m128d) (A), \
15308 _MM_FROUND_CUR_DIRECTION))
15309#define _mm_maskz_roundscale_sd(U, A, B, I) \
15311 __builtin_ia32_rndscalesd_mask_round ((__v2df) (__m128d) (A), \
15312 (__v2df) (__m128d) (B), \
15314 (__v2df) _mm_setzero_pd (), \
15316 _MM_FROUND_CUR_DIRECTION))
15321__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15324 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15331__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15334 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15341__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15344 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15351__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15354 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15361__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15364 return (
__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)
__X,
15371__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15374 return (
__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)
__X,
15381__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15384 return (
__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)
__X,
15391__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15394 return (
__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)
__X,
15401#define _mm512_cmp_pd_mask(X, Y, P) \
15402 ((__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)(__m512d)(X), \
15403 (__v8df)(__m512d)(Y), (int)(P),\
15404 (__mmask8)-1,_MM_FROUND_CUR_DIRECTION))
15406#define _mm512_cmp_ps_mask(X, Y, P) \
15407 ((__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)(__m512)(X), \
15408 (__v16sf)(__m512)(Y), (int)(P),\
15409 (__mmask16)-1,_MM_FROUND_CUR_DIRECTION))
15411#define _mm512_mask_cmp_pd_mask(M, X, Y, P) \
15412 ((__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)(__m512d)(X), \
15413 (__v8df)(__m512d)(Y), (int)(P),\
15414 (__mmask8)(M), _MM_FROUND_CUR_DIRECTION))
15416#define _mm512_mask_cmp_ps_mask(M, X, Y, P) \
15417 ((__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)(__m512)(X), \
15418 (__v16sf)(__m512)(Y), (int)(P),\
15419 (__mmask16)(M),_MM_FROUND_CUR_DIRECTION))
15421#define _mm_cmp_sd_mask(X, Y, P) \
15422 ((__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)(__m128d)(X), \
15423 (__v2df)(__m128d)(Y), (int)(P),\
15424 (__mmask8)-1,_MM_FROUND_CUR_DIRECTION))
15426#define _mm_mask_cmp_sd_mask(M, X, Y, P) \
15427 ((__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)(__m128d)(X), \
15428 (__v2df)(__m128d)(Y), (int)(P),\
15429 M,_MM_FROUND_CUR_DIRECTION))
15431#define _mm_cmp_ss_mask(X, Y, P) \
15432 ((__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)(__m128)(X), \
15433 (__v4sf)(__m128)(Y), (int)(P), \
15434 (__mmask8)-1,_MM_FROUND_CUR_DIRECTION))
15436#define _mm_mask_cmp_ss_mask(M, X, Y, P) \
15437 ((__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)(__m128)(X), \
15438 (__v4sf)(__m128)(Y), (int)(P), \
15439 M,_MM_FROUND_CUR_DIRECTION))
15443__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15444_mm512_cmpeq_pd_mask (__m512d
__X, __m512d
__Y)
15446 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15453__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15456 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15463__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15464_mm512_cmplt_pd_mask (__m512d
__X, __m512d
__Y)
15466 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15473__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15476 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15483__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15484_mm512_cmple_pd_mask (__m512d
__X, __m512d
__Y)
15486 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15493__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15496 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15503__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15504_mm512_cmpunord_pd_mask (__m512d
__X, __m512d
__Y)
15506 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15513__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15516 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15523__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15524_mm512_cmpneq_pd_mask (__m512d
__X, __m512d
__Y)
15526 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15533__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15536 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15543__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15544_mm512_cmpnlt_pd_mask (__m512d
__X, __m512d
__Y)
15546 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15553__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15556 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15563__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15564_mm512_cmpnle_pd_mask (__m512d
__X, __m512d
__Y)
15566 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15573__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15576 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15583__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15584_mm512_cmpord_pd_mask (__m512d
__X, __m512d
__Y)
15586 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15593__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15596 return (
__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)
__X,
15603__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15604_mm512_cmpeq_ps_mask (__m512
__X, __m512
__Y)
15606 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15613__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15616 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15623__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15624_mm512_cmplt_ps_mask (__m512
__X, __m512
__Y)
15626 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15633__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15636 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15643__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15644_mm512_cmple_ps_mask (__m512
__X, __m512
__Y)
15646 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15653__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15656 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15663__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15664_mm512_cmpunord_ps_mask (__m512
__X, __m512
__Y)
15666 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15673__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15676 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15683__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15684_mm512_cmpneq_ps_mask (__m512
__X, __m512
__Y)
15686 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15693__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15696 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15703__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15704_mm512_cmpnlt_ps_mask (__m512
__X, __m512
__Y)
15706 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15713__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15716 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15723__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15724_mm512_cmpnle_ps_mask (__m512
__X, __m512
__Y)
15726 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15733__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15736 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15743__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15744_mm512_cmpord_ps_mask (__m512
__X, __m512
__Y)
15746 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15753__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15756 return (
__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)
__X,
15763__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15766 return __builtin_ia32_kmovw (
__A);
15769extern __inline __m512
15770__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15771_mm512_castpd_ps (__m512d
__A)
15773 return (__m512) (
__A);
15776extern __inline __m512i
15777__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15778_mm512_castpd_si512 (__m512d
__A)
15780 return (__m512i) (
__A);
15783extern __inline __m512d
15784__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15785_mm512_castps_pd (__m512
__A)
15787 return (__m512d) (
__A);
15790extern __inline __m512i
15791__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15792_mm512_castps_si512 (__m512
__A)
15794 return (__m512i) (
__A);
15797extern __inline __m512
15798__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15799_mm512_castsi512_ps (__m512i
__A)
15801 return (__m512) (
__A);
15804extern __inline __m512d
15805__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15806_mm512_castsi512_pd (__m512i
__A)
15808 return (__m512d) (
__A);
15811extern __inline __m128d
15812__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15813_mm512_castpd512_pd128 (__m512d
__A)
15818extern __inline __m128
15819__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15820_mm512_castps512_ps128 (__m512
__A)
15825extern __inline __m128i
15826__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15827_mm512_castsi512_si128 (__m512i
__A)
15832extern __inline __m256d
15833__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15834_mm512_castpd512_pd256 (__m512d
__A)
15839extern __inline __m256
15840__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15841_mm512_castps512_ps256 (__m512
__A)
15846extern __inline __m256i
15847__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15848_mm512_castsi512_si256 (__m512i
__A)
15853extern __inline __m512d
15854__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15855_mm512_castpd128_pd512 (__m128d
__A)
15857 return (__m512d) __builtin_ia32_pd512_pd((__m128d)
__A);
15860extern __inline __m512
15861__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15862_mm512_castps128_ps512 (__m128
__A)
15864 return (__m512) __builtin_ia32_ps512_ps((__m128)
__A);
15867extern __inline __m512i
15868__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15869_mm512_castsi128_si512 (__m128i
__A)
15871 return (__m512i) __builtin_ia32_si512_si((__v4si)
__A);
15874extern __inline __m512d
15875__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15876_mm512_castpd256_pd512 (__m256d
__A)
15878 return __builtin_ia32_pd512_256pd (
__A);
15881extern __inline __m512
15882__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15883_mm512_castps256_ps512 (__m256
__A)
15885 return __builtin_ia32_ps512_256ps (
__A);
15888extern __inline __m512i
15889__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15890_mm512_castsi256_si512 (__m256i
__A)
15892 return (__m512i)__builtin_ia32_si512_256si ((__v8si)
__A);
15895extern __inline __m512d
15896__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15897_mm512_zextpd128_pd512 (__m128d
__A)
15902extern __inline __m512
15903__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15904_mm512_zextps128_ps512 (__m128
__A)
15909extern __inline __m512i
15910__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15911_mm512_zextsi128_si512 (__m128i
__A)
15916extern __inline __m512d
15917__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15918_mm512_zextpd256_pd512 (__m256d
__A)
15923extern __inline __m512
15924__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15925_mm512_zextps256_ps512 (__m256
__A)
15930extern __inline __m512i
15931__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15932_mm512_zextsi256_si512 (__m256i
__A)
15938__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15939_mm512_cmpeq_epu32_mask (__m512i
__A, __m512i
__B)
15941 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__A,
15947__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15950 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__A,
15955__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15958 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__A,
15963__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15964_mm512_cmpeq_epu64_mask (__m512i
__A, __m512i
__B)
15966 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__A,
15972__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15973_mm512_cmpgt_epu32_mask (__m512i
__A, __m512i
__B)
15975 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__A,
15981__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15984 return (
__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)
__A,
15989__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15992 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__A,
15997__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
15998_mm512_cmpgt_epu64_mask (__m512i
__A, __m512i
__B)
16000 return (
__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)
__A,
16005#undef __MM512_REDUCE_OP
16006#define __MM512_REDUCE_OP(op) \
16007 __v8si __T1 = (__v8si) _mm512_extracti64x4_epi64 (__A, 1); \
16008 __v8si __T2 = (__v8si) _mm512_extracti64x4_epi64 (__A, 0); \
16009 __m256i __T3 = (__m256i) (__T1 op __T2); \
16010 __v4si __T4 = (__v4si) _mm256_extracti128_si256 (__T3, 1); \
16011 __v4si __T5 = (__v4si) _mm256_extracti128_si256 (__T3, 0); \
16012 __v4si __T6 = __T4 op __T5; \
16013 __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); \
16014 __v4si __T8 = __T6 op __T7; \
16015 return __T8[0] op __T8[1]
16018__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16019_mm512_reduce_add_epi32 (__m512i
__A)
16025__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16026_mm512_reduce_mul_epi32 (__m512i
__A)
16032__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16033_mm512_reduce_and_epi32 (__m512i
__A)
16039__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16040_mm512_reduce_or_epi32 (__m512i
__A)
16046__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16049 __A = _mm512_maskz_mov_epi32 (
__U,
__A);
16054__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16057 __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (1),
__U,
__A);
16062__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16065 __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (~0),
__U,
__A);
16070__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16073 __A = _mm512_maskz_mov_epi32 (
__U,
__A);
16077#undef __MM512_REDUCE_OP
16078#define __MM512_REDUCE_OP(op) \
16079 __m256i __T1 = (__m256i) _mm512_extracti64x4_epi64 (__A, 1); \
16080 __m256i __T2 = (__m256i) _mm512_extracti64x4_epi64 (__A, 0); \
16081 __m256i __T3 = _mm256_##op (__T1, __T2); \
16082 __m128i __T4 = (__m128i) _mm256_extracti128_si256 (__T3, 1); \
16083 __m128i __T5 = (__m128i) _mm256_extracti128_si256 (__T3, 0); \
16084 __m128i __T6 = _mm_##op (__T4, __T5); \
16085 __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, \
16086 (__v4si) { 2, 3, 0, 1 }); \
16087 __m128i __T8 = _mm_##op (__T6, __T7); \
16088 __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, \
16089 (__v4si) { 1, 0, 1, 0 }); \
16090 __v4si __T10 = (__v4si) _mm_##op (__T8, __T9); \
16094__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16095_mm512_reduce_min_epi32 (__m512i
__A)
16101__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16102_mm512_reduce_max_epi32 (__m512i
__A)
16107extern __inline
unsigned int
16108__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16109_mm512_reduce_min_epu32 (__m512i
__A)
16114extern __inline
unsigned int
16115__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16116_mm512_reduce_max_epu32 (__m512i
__A)
16122__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16125 __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (__INT_MAX__),
__U,
__A);
16130__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16133 __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (-__INT_MAX__ - 1),
__U,
__A);
16137extern __inline
unsigned int
16138__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16141 __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (~0),
__U,
__A);
16145extern __inline
unsigned int
16146__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16149 __A = _mm512_maskz_mov_epi32 (
__U,
__A);
16153#undef __MM512_REDUCE_OP
16154#define __MM512_REDUCE_OP(op) \
16155 __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); \
16156 __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); \
16157 __m256 __T3 = __T1 op __T2; \
16158 __m128 __T4 = _mm256_extractf128_ps (__T3, 1); \
16159 __m128 __T5 = _mm256_extractf128_ps (__T3, 0); \
16160 __m128 __T6 = __T4 op __T5; \
16161 __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); \
16162 __m128 __T8 = __T6 op __T7; \
16163 return __T8[0] op __T8[1]
16165extern __inline
float
16166__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16167_mm512_reduce_add_ps (__m512
__A)
16172extern __inline
float
16173__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16174_mm512_reduce_mul_ps (__m512
__A)
16179extern __inline
float
16180__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16187extern __inline
float
16188__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16191 __A = _mm512_mask_mov_ps (_mm512_set1_ps (1.0f),
__U,
__A);
16195#undef __MM512_REDUCE_OP
16196#define __MM512_REDUCE_OP(op) \
16197 __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); \
16198 __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); \
16199 __m256 __T3 = _mm256_##op (__T1, __T2); \
16200 __m128 __T4 = _mm256_extractf128_ps (__T3, 1); \
16201 __m128 __T5 = _mm256_extractf128_ps (__T3, 0); \
16202 __m128 __T6 = _mm_##op (__T4, __T5); \
16203 __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); \
16204 __m128 __T8 = _mm_##op (__T6, __T7); \
16205 __m128 __T9 = __builtin_shuffle (__T8, (__v4si) { 1, 0, 1, 0 }); \
16206 __m128 __T10 = _mm_##op (__T8, __T9); \
16209extern __inline
float
16210__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16211_mm512_reduce_min_ps (__m512
__A)
16216extern __inline
float
16217__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16218_mm512_reduce_max_ps (__m512
__A)
16223extern __inline
float
16224__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16227 __A = _mm512_mask_mov_ps (_mm512_set1_ps (__builtin_inff ()),
__U,
__A);
16231extern __inline
float
16232__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16235 __A = _mm512_mask_mov_ps (_mm512_set1_ps (-__builtin_inff ()),
__U,
__A);
16239#undef __MM512_REDUCE_OP
16240#define __MM512_REDUCE_OP(op) \
16241 __v4di __T1 = (__v4di) _mm512_extracti64x4_epi64 (__A, 1); \
16242 __v4di __T2 = (__v4di) _mm512_extracti64x4_epi64 (__A, 0); \
16243 __m256i __T3 = (__m256i) (__T1 op __T2); \
16244 __v2di __T4 = (__v2di) _mm256_extracti128_si256 (__T3, 1); \
16245 __v2di __T5 = (__v2di) _mm256_extracti128_si256 (__T3, 0); \
16246 __v2di __T6 = __T4 op __T5; \
16247 return __T6[0] op __T6[1]
16249extern __inline
long long
16250__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16251_mm512_reduce_add_epi64 (__m512i
__A)
16256extern __inline
long long
16257__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16258_mm512_reduce_mul_epi64 (__m512i
__A)
16263extern __inline
long long
16264__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16265_mm512_reduce_and_epi64 (__m512i
__A)
16270extern __inline
long long
16271__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16272_mm512_reduce_or_epi64 (__m512i
__A)
16277extern __inline
long long
16278__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16281 __A = _mm512_maskz_mov_epi64 (
__U,
__A);
16285extern __inline
long long
16286__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16289 __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (1LL),
__U,
__A);
16293extern __inline
long long
16294__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16297 __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (~0LL),
__U,
__A);
16301extern __inline
long long
16302__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16305 __A = _mm512_maskz_mov_epi64 (
__U,
__A);
16309#undef __MM512_REDUCE_OP
16310#define __MM512_REDUCE_OP(op) \
16311 __m512i __T1 = _mm512_shuffle_i64x2 (__A, __A, 0x4e); \
16312 __m512i __T2 = _mm512_##op (__A, __T1); \
16314 = (__m512i) __builtin_shuffle ((__v8di) __T2, \
16315 (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 });\
16316 __m512i __T4 = _mm512_##op (__T2, __T3); \
16318 = (__m512i) __builtin_shuffle ((__v8di) __T4, \
16319 (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 });\
16320 __v8di __T6 = (__v8di) _mm512_##op (__T4, __T5); \
16323extern __inline
long long
16324__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16325_mm512_reduce_min_epi64 (__m512i
__A)
16330extern __inline
long long
16331__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16332_mm512_reduce_max_epi64 (__m512i
__A)
16337extern __inline
long long
16338__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16341 __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (__LONG_LONG_MAX__),
16346extern __inline
long long
16347__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16350 __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (-__LONG_LONG_MAX__ - 1),
16355extern __inline
unsigned long long
16356__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16357_mm512_reduce_min_epu64 (__m512i
__A)
16362extern __inline
unsigned long long
16363__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16364_mm512_reduce_max_epu64 (__m512i
__A)
16369extern __inline
unsigned long long
16370__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16373 __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (~0LL),
__U,
__A);
16377extern __inline
unsigned long long
16378__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16381 __A = _mm512_maskz_mov_epi64 (
__U,
__A);
16385#undef __MM512_REDUCE_OP
16386#define __MM512_REDUCE_OP(op) \
16387 __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); \
16388 __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); \
16389 __m256d __T3 = __T1 op __T2; \
16390 __m128d __T4 = _mm256_extractf128_pd (__T3, 1); \
16391 __m128d __T5 = _mm256_extractf128_pd (__T3, 0); \
16392 __m128d __T6 = __T4 op __T5; \
16393 return __T6[0] op __T6[1]
16395extern __inline
double
16396__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16397_mm512_reduce_add_pd (__m512d
__A)
16402extern __inline
double
16403__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16404_mm512_reduce_mul_pd (__m512d
__A)
16409extern __inline
double
16410__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16417extern __inline
double
16418__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16421 __A = _mm512_mask_mov_pd (_mm512_set1_pd (1.0),
__U,
__A);
16425#undef __MM512_REDUCE_OP
16426#define __MM512_REDUCE_OP(op) \
16427 __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); \
16428 __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); \
16429 __m256d __T3 = _mm256_##op (__T1, __T2); \
16430 __m128d __T4 = _mm256_extractf128_pd (__T3, 1); \
16431 __m128d __T5 = _mm256_extractf128_pd (__T3, 0); \
16432 __m128d __T6 = _mm_##op (__T4, __T5); \
16433 __m128d __T7 = (__m128d) __builtin_shuffle (__T6, (__v2di) { 1, 0 }); \
16434 __m128d __T8 = _mm_##op (__T6, __T7); \
16437extern __inline
double
16438__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16439_mm512_reduce_min_pd (__m512d
__A)
16444extern __inline
double
16445__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16446_mm512_reduce_max_pd (__m512d
__A)
16451extern __inline
double
16452__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16455 __A = _mm512_mask_mov_pd (_mm512_set1_pd (__builtin_inf ()),
__U,
__A);
16459extern __inline
double
16460__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
16463 __A = _mm512_mask_mov_pd (_mm512_set1_pd (-__builtin_inf ()),
__U,
__A);
16467#undef __MM512_REDUCE_OP
16469#ifdef __DISABLE_AVX512F__
16470#undef __DISABLE_AVX512F__
16471#pragma GCC pop_options
unsigned char __mmask8
Definition avx512cdintrin.h:46
unsigned short __mmask16
Definition avx512cdintrin.h:47
#define _mm512_mask_cvt_roundps_pd(W, U, A, B)
Definition avx512fintrin.h:8651
#define _mm512_maskz_permutex_pd(U, X, M)
Definition avx512fintrin.h:6953
#define _mm512_mask_permutex_pd(W, U, X, M)
Definition avx512fintrin.h:6949
#define _mm_mul_round_ss(A, B, C)
Definition avx512fintrin.h:2952
__inline __m512i short __q30
Definition avx512fintrin.h:102
#define _mm512_mask_fmsubadd_round_pd(A, U, B, C, R)
Definition avx512fintrin.h:3956
#define _mm512_fixupimm_pd(X, Y, Z, C)
Definition avx512fintrin.h:14356
#define _mm512_mask_fmsub_round_pd(A, U, B, C, R)
Definition avx512fintrin.h:3908
#define _mm512_mask_shuffle_i32x4(W, U, X, Y, C)
Definition avx512fintrin.h:4667
#define _mm_fmsub_round_sd(A, B, C, R)
Definition avx512fintrin.h:11860
#define _mm512_mask_scalef_round_pd(W, U, A, B, C)
Definition avx512fintrin.h:3295
__inline __m512i short short short short short short short short __q23
Definition avx512fintrin.h:104
#define _mm512_mask_div_round_pd(W, U, A, B, C)
Definition avx512fintrin.h:2928
__inline __m512i char char char char char char char char char char char char char char __q49
Definition avx512fintrin.h:124
__inline __m512i char char char __q60
Definition avx512fintrin.h:121
#define _mm512_i32scatter_epi64(ADDR, INDEX, V1, SCALE)
Definition avx512fintrin.h:10794
__inline __m512i long long long long long long long long __E
Definition avx512fintrin.h:80
#define _mm512_maskz_extracti64x4_epi64(U, X, C)
Definition avx512fintrin.h:6123
#define _mm512_mask_inserti32x4(A, B, X, Y, C)
Definition avx512fintrin.h:11283
#define _mm512_cvt_roundps_pd(A, B)
Definition avx512fintrin.h:8648
#define _mm512_cvtt_roundpd_epi32(A, B)
Definition avx512fintrin.h:4905
__inline __m512i short short short short short short short short short short short short short short short short short short __q13
Definition avx512fintrin.h:106
__inline __m512i char __q62
Definition avx512fintrin.h:121
#define _mm_mask_cmp_ss_mask(M, X, Y, P)
Definition avx512fintrin.h:15436
#define _mm512_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE)
Definition avx512fintrin.h:10779
__inline __m512i char char char char char char __q57
Definition avx512fintrin.h:122
#define _mm512_mask_getexp_ps(W, U, A)
Definition avx512fintrin.h:15071
#define _mm512_inserti64x4(X, Y, C)
Definition avx512fintrin.h:6269
__inline __m512i short short short short __q27
Definition avx512fintrin.h:103
#define _mm512_mask_fnmadd_round_pd(A, U, B, C, R)
Definition avx512fintrin.h:3980
#define _mm512_sqrt_round_ps(A, C)
Definition avx512fintrin.h:2137
#define _mm512_extracti64x4_epi64(X, C)
Definition avx512fintrin.h:6111
#define _mm512_mask_roundscale_round_pd(A, B, C, D, R)
Definition avx512fintrin.h:9438
#define _mm512_slli_epi32(X, C)
Definition avx512fintrin.h:1268
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short short short short __q06
Definition avx512fintrin.h:108
#define _mm512_maskz_extracti32x4_epi32(U, X, C)
Definition avx512fintrin.h:6141
#define _mm512_maskz_shuffle_epi32(U, X, C)
Definition avx512fintrin.h:4638
#define _mm_mask_min_round_ss(W, U, A, B, C)
Definition avx512fintrin.h:11729
#define _mm_maskz_max_round_sd(U, A, B, C)
Definition avx512fintrin.h:11705
#define _mm512_mask_cvt_roundps_epi32(W, U, A, B)
Definition avx512fintrin.h:5148
#define _mm_getmant_round_ss(X, Y, C, D, R)
Definition avx512fintrin.h:9208
#define _mm_maskz_fmadd_round_ss(U, A, B, C, R)
Definition avx512fintrin.h:12423
#define _mm512_cvtt_roundps_epi32(A, B)
Definition avx512fintrin.h:5065
#define _mm_sqrt_round_ss(A, B, C)
Definition avx512fintrin.h:2157
#define _mm512_maskz_add_round_ps(U, A, B, C)
Definition avx512fintrin.h:2621
#define _mm512_mask_slli_epi64(W, U, X, C)
Definition avx512fintrin.h:1036
#define _mm512_i32scatter_epi32(ADDR, INDEX, V1, SCALE)
Definition avx512fintrin.h:10784
__inline __m512i char char char char __q59
Definition avx512fintrin.h:122
#define _mm512_cvt_roundph_ps(A, B)
Definition avx512fintrin.h:8657
#define _mm512_mask3_fnmadd_round_ps(A, B, C, U, R)
Definition avx512fintrin.h:3995
#define _mm512_maskz_fixupimm_round_pd(U, X, Y, Z, C, R)
Definition avx512fintrin.h:7363
#define _mm512_getmant_pd(X, B, C)
Definition avx512fintrin.h:14959
#define _kshiftli_mask16(X, Y)
Definition avx512fintrin.h:10214
#define _mm512_maskz_fixupimm_round_ps(U, X, Y, Z, C, R)
Definition avx512fintrin.h:7378
#define _mm_maskz_sqrt_round_ss(U, A, B, C)
Definition avx512fintrin.h:2164
#define _mm512_maskz_ternarylogic_epi32(U, A, B, C, I)
Definition avx512fintrin.h:1765
__inline __m512i char char char char char char char char char char char char char char char char char char char char char __q42
Definition avx512fintrin.h:126
#define _mm512_maskz_div_round_ps(U, A, B, C)
Definition avx512fintrin.h:2940
__inline __m512i long long long long long long long long long long long long __G
Definition avx512fintrin.h:81
#define _mm512_maskz_getexp_pd(U, A)
Definition avx512fintrin.h:15087
#define _mm512_mask_cmp_ps_mask(M, X, Y, P)
Definition avx512fintrin.h:15416
#define _mm_mask_fixupimm_ss(X, U, Y, Z, C)
Definition avx512fintrin.h:14406
#define _mm_maskz_fnmsub_round_sd(U, A, B, C, R)
Definition avx512fintrin.h:12474
#define _mm512_scalef_round_ps(A, B, C)
Definition avx512fintrin.h:3304
#define _mm_mask_getmant_round_ss(W, U, X, Y, C, D, R)
Definition avx512fintrin.h:9214
#define _mm512_add_round_ps(A, B, C)
Definition avx512fintrin.h:2615
#define _mm_mask_fmadd_round_ss(A, U, B, C, R)
Definition avx512fintrin.h:12411
__inline __m512i int int int int int int int int int int int int int __N
Definition avx512fintrin.h:93
#define _mm_maskz_roundscale_ss(U, A, B, I)
Definition avx512fintrin.h:15285
double __v8df __attribute__((__vector_size__(64)))
Definition avx512fintrin.h:38
#define _mm512_cmp_epu32_mask(X, Y, P)
Definition avx512fintrin.h:10235
#define _mm_mask3_fmsub_round_ss(A, B, C, U, R)
Definition avx512fintrin.h:12435
__inline __m512i int int int int int int int int int int __K
Definition avx512fintrin.h:92
#define _mm512_i32gather_epi64(INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10705
#define _mm512_mask_alignr_epi64(W, U, X, Y, C)
Definition avx512fintrin.h:9667
#define _mm_cvt_roundss_u32(A, B)
Definition avx512fintrin.h:8252
#define _mm512_maskz_roundscale_round_pd(A, B, C, R)
Definition avx512fintrin.h:9443
#define _mm_maskz_fmadd_round_sd(U, A, B, C, R)
Definition avx512fintrin.h:12420
#define _mm512_mask_fixupimm_ps(X, U, Y, Z, C)
Definition avx512fintrin.h:14376
#define _mm512_mask_getexp_round_pd(W, U, A, R)
Definition avx512fintrin.h:9265
#define _mm512_i32gather_ps(INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10638
#define _mm512_getexp_pd(A)
Definition avx512fintrin.h:15079
#define _mm512_slli_epi64(X, C)
Definition avx512fintrin.h:1031
#define _mm512_fixupimm_round_pd(X, Y, Z, C, R)
Definition avx512fintrin.h:7353
#define _mm512_roundscale_pd(A, B)
Definition avx512fintrin.h:15256
#define _mm512_fmsubadd_round_ps(A, B, C, R)
Definition avx512fintrin.h:3965
#define _mm512_maskz_max_round_pd(U, A, B, R)
Definition avx512fintrin.h:3122
#define _mm512_cmp_round_ps_mask(X, Y, P, R)
Definition avx512fintrin.h:10245
#define _mm512_maskz_ror_epi64(U, A, B)
Definition avx512fintrin.h:7772
#define _mm512_maskz_scalef_round_pd(U, A, B, C)
Definition avx512fintrin.h:3298
#define _mm512_maskz_shuffle_f32x4(U, X, Y, C)
Definition avx512fintrin.h:4709
#define _mm512_cvt_roundps_epi32(A, B)
Definition avx512fintrin.h:5145
#define _mm512_getmant_round_ps(X, B, C, R)
Definition avx512fintrin.h:9166
#define _mm_maskz_getmant_round_sd(U, X, Y, C, D, R)
Definition avx512fintrin.h:9200
#define _mm512_fixupimm_round_ps(X, Y, Z, C, R)
Definition avx512fintrin.h:7368
#define _mm512_fmadd_round_ps(A, B, C, R)
Definition avx512fintrin.h:3893
#define _mm512_maskz_inserti64x4(U, X, Y, C)
Definition avx512fintrin.h:6281
#define _mm_mul_round_sd(A, B, C)
Definition avx512fintrin.h:2943
__inline __m512i short short short short short short short short short short short short short short short short short short short short __q11
Definition avx512fintrin.h:107
#define _mm_mask_fixupimm_round_ss(X, U, Y, Z, C, R)
Definition avx512fintrin.h:7403
#define _mm512_mask_srli_epi64(W, U, X, C)
Definition avx512fintrin.h:1115
#define _mm512_maskz_cvtps_ph(W, A, I)
Definition avx512fintrin.h:8681
#define _mm512_mask_scalef_round_ps(W, U, A, B, C)
Definition avx512fintrin.h:3310
#define _mm512_mask_rol_epi64(W, U, A, B)
Definition avx512fintrin.h:7751
#define _mm_add_round_sd(A, B, C)
Definition avx512fintrin.h:1604
#define _mm_cvt_roundss_i32(A, B)
Definition avx512fintrin.h:8258
#define _mm_maskz_fixupimm_ss(U, X, Y, Z, C)
Definition avx512fintrin.h:14411
#define _mm_getmant_ss(X, Y, C, D)
Definition avx512fintrin.h:15021
__inline __m512i char char char char char char char char char char char char char char char char __q47
Definition avx512fintrin.h:125
#define _mm512_fmsubadd_round_pd(A, B, C, R)
Definition avx512fintrin.h:3953
#define _mm_mask_scalef_round_sd(W, U, A, B, C)
Definition avx512fintrin.h:3331
#define _mm512_i64scatter_pd(ADDR, INDEX, V1, SCALE)
Definition avx512fintrin.h:10774
#define _mm512_sub_round_ps(A, B, C)
Definition avx512fintrin.h:2633
__inline __m512i __mmask16 __m512i __X
Definition avx512fintrin.h:647
#define _mm512_cmp_epi32_mask(X, Y, P)
Definition avx512fintrin.h:10225
#define _mm_maskz_getexp_round_ss(U, A, B, C)
Definition avx512fintrin.h:9236
#define _mm_maskz_roundscale_round_ss(U, A, B, I, R)
Definition avx512fintrin.h:9464
#define _mm_roundscale_ss(A, B, I)
Definition avx512fintrin.h:15269
#define _mm512_mask_shuffle_ps(W, U, X, Y, C)
Definition avx512fintrin.h:7341
#define _mm512_mask_fmaddsub_round_ps(A, U, B, C, R)
Definition avx512fintrin.h:3944
#define _mm512_maskz_slli_epi64(U, X, C)
Definition avx512fintrin.h:1041
#define _mm512_maskz_getmant_pd(U, X, B, C)
Definition avx512fintrin.h:14973
#define _mm_cvtt_roundsd_i32(A, B)
Definition avx512fintrin.h:8393
#define _mm512_mask_cmp_epi64_mask(M, X, Y, P)
Definition avx512fintrin.h:10250
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short short __q08
Definition avx512fintrin.h:107
#define _mm512_mask_max_round_ps(W, U, A, B, R)
Definition avx512fintrin.h:3128
#define _mm512_maskz_inserti32x4(A, X, Y, C)
Definition avx512fintrin.h:11273
#define _mm512_mask_min_round_pd(W, U, A, B, R)
Definition avx512fintrin.h:3137
#define _mm_mask_sub_round_sd(W, U, A, B, C)
Definition avx512fintrin.h:1625
#define _mm_getexp_sd(A, B)
Definition avx512fintrin.h:15055
#define _mm512_maskz_srli_epi32(U, X, C)
Definition avx512fintrin.h:1357
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short short short short short short short __q03
Definition avx512fintrin.h:109
#define _mm512_mask_sqrt_round_ps(W, U, A, C)
Definition avx512fintrin.h:2140
#define _mm_cvt_roundsi32_ss(A, B, C)
Definition avx512fintrin.h:5234
#define _mm_add_round_ss(A, B, C)
Definition avx512fintrin.h:1613
#define _mm512_cmp_round_pd_mask(X, Y, P, R)
Definition avx512fintrin.h:10240
#define _mm_maskz_fixupimm_round_sd(U, X, Y, Z, C, R)
Definition avx512fintrin.h:7393
#define _mm_maskz_fixupimm_sd(U, X, Y, Z, C)
Definition avx512fintrin.h:14396
#define _mm_mask_scalef_round_ss(W, U, A, B, C)
Definition avx512fintrin.h:3335
#define _mm512_maskz_cvt_roundph_ps(U, A, B)
Definition avx512fintrin.h:8663
#define _mm512_srai_epi32(X, C)
Definition avx512fintrin.h:1426
#define _mm512_i64scatter_epi64(ADDR, INDEX, V1, SCALE)
Definition avx512fintrin.h:10814
__inline __m512i char char char char char char char char char __q54
Definition avx512fintrin.h:123
#define _mm_mask_fmadd_round_sd(A, U, B, C, R)
Definition avx512fintrin.h:12408
#define _mm_sqrt_round_sd(A, B, C)
Definition avx512fintrin.h:2146
#define _mm512_shuffle_f64x2(X, Y, C)
Definition avx512fintrin.h:4679
#define _mm512_maskz_shuffle_i32x4(U, X, Y, C)
Definition avx512fintrin.h:4673
#define _mm_mask_add_round_sd(W, U, A, B, C)
Definition avx512fintrin.h:1607
#define _mm512_maskz_max_round_ps(U, A, B, R)
Definition avx512fintrin.h:3131
#define _mm_mask_fixupimm_sd(X, U, Y, Z, C)
Definition avx512fintrin.h:14391
#define _mm512_min_round_ps(A, B, R)
Definition avx512fintrin.h:3143
#define _mm512_i32scatter_ps(ADDR, INDEX, V1, SCALE)
Definition avx512fintrin.h:10744
#define _mm512_rol_epi32(A, B)
Definition avx512fintrin.h:7716
#define _mm512_shuffle_ps(X, Y, C)
Definition avx512fintrin.h:7335
#define _mm_mask_getexp_round_sd(W, U, A, B, C)
Definition avx512fintrin.h:9242
__inline __m512i short short short __q28
Definition avx512fintrin.h:102
#define _mm_mask3_fmadd_round_sd(A, B, C, U, R)
Definition avx512fintrin.h:12414
#define _mm_scalef_round_sd(A, B, C)
Definition avx512fintrin.h:3319
#define _mm512_div_round_ps(A, B, C)
Definition avx512fintrin.h:2934
#define _mm512_i64gather_epi64(INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10731
#define _mm512_shuffle_epi32(X, C)
Definition avx512fintrin.h:4628
#define _mm512_roundscale_round_ps(A, B, R)
Definition avx512fintrin.h:9422
#define _mm512_cvt_roundepu32_ps(A, B)
Definition avx512fintrin.h:5931
#define _mm512_mask_ternarylogic_epi32(A, U, B, C, I)
Definition avx512fintrin.h:1758
#define _mm_mask_max_round_ss(W, U, A, B, C)
Definition avx512fintrin.h:11711
__inline __m512i char char char char char char char char char char char char char __q50
Definition avx512fintrin.h:124
#define _mm_cmp_round_sd_mask(X, Y, P, R)
Definition avx512fintrin.h:10280
#define _mm512_maskz_shuffle_f64x2(U, X, Y, C)
Definition avx512fintrin.h:4691
#define _mm512_mask_extracti64x4_epi64(W, U, X, C)
Definition avx512fintrin.h:6117
#define _mm512_mask_extractf64x4_pd(W, U, X, C)
Definition avx512fintrin.h:6081
#define _mm_maskz_add_round_sd(U, A, B, C)
Definition avx512fintrin.h:1610
#define _mm_maskz_fmsub_round_ss(U, A, B, C, R)
Definition avx512fintrin.h:12441
#define _mm_maskz_mul_round_sd(U, A, B, C)
Definition avx512fintrin.h:2949
__inline __m512i int int int int int int int int int int int int int int int __P
Definition avx512fintrin.h:94
#define _mm_maskz_fmsub_round_sd(U, A, B, C, R)
Definition avx512fintrin.h:12438
#define _mm512_mask_shuffle_epi32(W, U, X, C)
Definition avx512fintrin.h:4633
#define _mm512_fmsub_round_ps(A, B, C, R)
Definition avx512fintrin.h:3917
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short short short short short short short short short __q01
Definition avx512fintrin.h:109
#define _mm512_i64gather_pd(INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10678
#define _mm_maskz_getmant_sd(U, X, Y, C, D)
Definition avx512fintrin.h:15013
#define _mm512_mask_getexp_pd(W, U, A)
Definition avx512fintrin.h:15083
#define _mm512_maskz_cvtt_roundpd_epu32(U, A, B)
Definition avx512fintrin.h:4920
#define _mm512_add_round_pd(A, B, C)
Definition avx512fintrin.h:2606
#define _mm_cvtt_roundss_i32(A, B)
Definition avx512fintrin.h:8267
#define _mm512_permutex_pd(X, M)
Definition avx512fintrin.h:6944
#define _mm512_maskz_sub_round_pd(U, A, B, C)
Definition avx512fintrin.h:2630
#define _mm512_max_round_ps(A, B, R)
Definition avx512fintrin.h:3125
#define _mm512_mask_rol_epi32(W, U, A, B)
Definition avx512fintrin.h:7721
#define _mm512_maskz_shuffle_pd(U, X, Y, C)
Definition avx512fintrin.h:7329
#define _mm512_cvt_roundpd_ps(A, B)
Definition avx512fintrin.h:8783
#define _mm_cvtt_roundss_si32(A, B)
Definition avx512fintrin.h:8264
#define _mm512_srli_epi32(X, C)
Definition avx512fintrin.h:1347
#define _mm512_mask_permutex_epi64(W, M, X, I)
Definition avx512fintrin.h:6972
#define _mm512_maskz_sub_round_ps(U, A, B, C)
Definition avx512fintrin.h:2639
#define _mm512_maskz_permutex_epi64(M, X, I)
Definition avx512fintrin.h:6965
#define _mm_mask3_fnmadd_round_ss(A, B, C, U, R)
Definition avx512fintrin.h:12453
#define _mm_maskz_roundscale_round_sd(U, A, B, I, R)
Definition avx512fintrin.h:9488
#define _mm512_mask_cmp_epi32_mask(M, X, Y, P)
Definition avx512fintrin.h:10255
#define _mm512_maskz_fmadd_round_ps(U, A, B, C, R)
Definition avx512fintrin.h:3902
#define _mm_cvt_roundu32_ss(A, B, C)
Definition avx512fintrin.h:5228
#define _mm512_mask3_fnmsub_round_pd(A, B, C, U, R)
Definition avx512fintrin.h:4007
#define _mm512_mask_cvtt_roundps_epu32(W, U, A, B)
Definition avx512fintrin.h:5077
#define _mm512_ror_epi64(A, B)
Definition avx512fintrin.h:7762
__inline __m512i __m512i __Y
Definition avx512fintrin.h:637
#define _mm_cvt_roundi32_ss(A, B, C)
Definition avx512fintrin.h:5231
#define _mm_mask_min_round_sd(W, U, A, B, C)
Definition avx512fintrin.h:11720
#define _mm_maskz_sub_round_ss(U, A, B, C)
Definition avx512fintrin.h:1637
#define _mm512_i32gather_pd(INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10652
#define _mm512_mask_cmp_round_ps_mask(M, X, Y, P, R)
Definition avx512fintrin.h:10275
#define _mm512_mask_mul_round_pd(W, U, A, B, C)
Definition avx512fintrin.h:2910
#define _mm512_maskz_fnmadd_round_pd(U, A, B, C, R)
Definition avx512fintrin.h:3986
#define _mm_mask_cmp_round_sd_mask(M, X, Y, P, R)
Definition avx512fintrin.h:10285
#define _mm512_maskz_cvt_roundpd_epu32(U, A, B)
Definition avx512fintrin.h:5000
#define _mm512_maskz_cvt_roundepi32_ps(U, A, B)
Definition avx512fintrin.h:5928
#define _mm_mask_roundscale_ss(A, U, B, C, I)
Definition avx512fintrin.h:15277
__inline __m512i short short short short short short short short short short short short short short short __q16
Definition avx512fintrin.h:105
#define _mm512_mask_cmp_round_pd_mask(M, X, Y, P, R)
Definition avx512fintrin.h:10270
#define _mm_maskz_getexp_round_sd(U, A, B, C)
Definition avx512fintrin.h:9245
#define _mm_max_round_ss(A, B, C)
Definition avx512fintrin.h:11708
#define _mm512_mask_alignr_epi32(W, U, X, Y, C)
Definition avx512fintrin.h:9652
#define _mm512_cvtps_ph(A, I)
Definition avx512fintrin.h:8669
#define _mm512_mask_mul_round_ps(W, U, A, B, C)
Definition avx512fintrin.h:2919
#define _mm512_mask_fmadd_round_ps(A, U, B, C, R)
Definition avx512fintrin.h:3896
#define _mm512_fmadd_round_pd(A, B, C, R)
Definition avx512fintrin.h:3881
#define _mm512_mask_srai_epi64(W, U, X, C)
Definition avx512fintrin.h:1194
#define _mm_maskz_div_round_sd(U, A, B, C)
Definition avx512fintrin.h:2967
#define _mm_fmsub_round_ss(A, B, C, R)
Definition avx512fintrin.h:11863
#define _mm512_shuffle_pd(X, Y, C)
Definition avx512fintrin.h:7317
_MM_MANTISSA_NORM_ENUM
Definition avx512fintrin.h:8856
@ _MM_MANT_NORM_p5_1
Definition avx512fintrin.h:8859
@ _MM_MANT_NORM_p5_2
Definition avx512fintrin.h:8858
@ _MM_MANT_NORM_1_2
Definition avx512fintrin.h:8857
@ _MM_MANT_NORM_p75_1p5
Definition avx512fintrin.h:8860
#define _mm_mask3_fmadd_round_ss(A, B, C, U, R)
Definition avx512fintrin.h:12417
#define _mm512_mask_getmant_round_pd(W, U, X, B, C, R)
Definition avx512fintrin.h:9153
__inline __m512i long long long long long long long long long long long long long long __H
Definition avx512fintrin.h:82
#define _mm512_maskz_fmsubadd_round_pd(U, A, B, C, R)
Definition avx512fintrin.h:3962
#define _mm512_mask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10684
#define _mm_mask_cvt_roundsd_ss(W, U, A, B, C)
Definition avx512fintrin.h:8795
#define _mm512_extractf32x4_ps(X, C)
Definition avx512fintrin.h:6093
#define _mm_getexp_round_sd(A, B, R)
Definition avx512fintrin.h:9239
#define _mm512_maskz_rol_epi64(U, A, B)
Definition avx512fintrin.h:7756
#define _mm512_inserti32x4(X, Y, C)
Definition avx512fintrin.h:6247
__inline __m512i short short short short short short short short short short short short short __q18
Definition avx512fintrin.h:105
__inline __m512d __m512d __V
Definition avx512fintrin.h:12889
#define _mm512_fmsub_round_pd(A, B, C, R)
Definition avx512fintrin.h:3905
#define _mm512_maskz_fmsub_round_ps(U, A, B, C, R)
Definition avx512fintrin.h:3926
#define _mm512_mul_round_pd(A, B, C)
Definition avx512fintrin.h:2907
#define _mm512_getmant_ps(X, B, C)
Definition avx512fintrin.h:14979
__inline __m512i int int int int int int int int int __J
Definition avx512fintrin.h:92
#define _mm_scalef_round_ss(A, B, C)
Definition avx512fintrin.h:3325
#define _mm512_maskz_fnmadd_round_ps(U, A, B, C, R)
Definition avx512fintrin.h:3998
#define _mm_div_round_sd(A, B, C)
Definition avx512fintrin.h:2961
#define _mm512_fnmsub_round_ps(A, B, C, R)
Definition avx512fintrin.h:4013
__inline __m512i long long long long __C
Definition avx512fintrin.h:79
#define _mm512_mask_extracti32x4_epi32(W, U, X, C)
Definition avx512fintrin.h:6135
#define _mm512_maskz_roundscale_ps(A, B, C)
Definition avx512fintrin.h:15251
#define _mm512_mask_extractf32x4_ps(W, U, X, C)
Definition avx512fintrin.h:6099
#define _mm_roundscale_round_sd(A, B, I, R)
Definition avx512fintrin.h:9472
#define _mm_maskz_min_round_sd(U, A, B, C)
Definition avx512fintrin.h:11723
#define _mm512_div_round_pd(A, B, C)
Definition avx512fintrin.h:2925
#define _mm512_getexp_ps(A)
Definition avx512fintrin.h:15067
#define _mm512_mask_min_round_ps(W, U, A, B, R)
Definition avx512fintrin.h:3146
#define _mm512_mask_cmp_epu64_mask(M, X, Y, P)
Definition avx512fintrin.h:10260
#define _mm512_ternarylogic_epi32(A, B, C, I)
Definition avx512fintrin.h:1751
#define _mm512_mask3_fmadd_round_pd(A, B, C, U, R)
Definition avx512fintrin.h:3887
#define _mm512_mask_ternarylogic_epi64(A, U, B, C, I)
Definition avx512fintrin.h:1737
#define _mm512_mask_add_round_pd(W, U, A, B, C)
Definition avx512fintrin.h:2609
#define _mm512_maskz_cvt_roundps_epi32(U, A, B)
Definition avx512fintrin.h:5151
#define _mm512_maskz_cvt_roundpd_ps(U, A, B)
Definition avx512fintrin.h:8789
#define _mm512_roundscale_round_pd(A, B, R)
Definition avx512fintrin.h:9435
#define _mm_fixupimm_round_sd(X, Y, Z, C, R)
Definition avx512fintrin.h:7383
#define _mm512_maskz_fmadd_round_pd(U, A, B, C, R)
Definition avx512fintrin.h:3890
#define _mm512_maskz_cvtt_roundps_epi32(U, A, B)
Definition avx512fintrin.h:5071
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short short short short short short short short __q02
Definition avx512fintrin.h:109
#define _mm512_maskz_insertf32x4(A, X, Y, C)
Definition avx512fintrin.h:11268
#define _mm512_cmp_epi64_mask(X, Y, P)
Definition avx512fintrin.h:10220
#define _mm512_maskz_extractf32x4_ps(U, X, C)
Definition avx512fintrin.h:6105
#define _mm512_mask_cmp_pd_mask(M, X, Y, P)
Definition avx512fintrin.h:15411
#define _mm512_cmp_pd_mask(X, Y, P)
Definition avx512fintrin.h:15401
#define _mm512_mask_fixupimm_round_ps(X, U, Y, Z, C, R)
Definition avx512fintrin.h:7373
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char char char char char char char char __q33
Definition avx512fintrin.h:128
#define _mm512_mask_sub_round_pd(W, U, A, B, C)
Definition avx512fintrin.h:2627
#define _mm512_fmaddsub_round_pd(A, B, C, R)
Definition avx512fintrin.h:3929
#define _mm_maskz_mul_round_ss(U, A, B, C)
Definition avx512fintrin.h:2958
__inline unsigned char __mmask16 unsigned char * __CF
Definition avx512fintrin.h:11097
#define _mm_maskz_scalef_round_sd(U, A, B, C)
Definition avx512fintrin.h:3339
#define _mm512_insertf32x4(X, Y, C)
Definition avx512fintrin.h:6243
#define _mm512_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE)
Definition avx512fintrin.h:10749
#define _mm_mask_getexp_sd(W, U, A, B)
Definition avx512fintrin.h:15059
#define _mm512_maskz_insertf64x4(U, X, Y, C)
Definition avx512fintrin.h:6263
#define _mm_cvt_roundsd_ss(A, B, C)
Definition avx512fintrin.h:8792
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char char char char char char __q35
Definition avx512fintrin.h:128
#define _mm512_mask_getmant_round_ps(W, U, X, B, C, R)
Definition avx512fintrin.h:9173
#define _mm_getmant_sd(X, Y, C, D)
Definition avx512fintrin.h:14999
#define _mm512_mask_cvt_roundpd_epi32(W, U, A, B)
Definition avx512fintrin.h:4988
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char char __q39
Definition avx512fintrin.h:127
__inline __m512d __mmask8 __U
Definition avx512fintrin.h:341
#define _mm512_mask_srli_epi32(W, U, X, C)
Definition avx512fintrin.h:1352
#define _mm_min_round_sd(A, B, C)
Definition avx512fintrin.h:11717
#define _mm_cvt_roundsd_i32(A, B)
Definition avx512fintrin.h:8384
#define _mm512_maskz_roundscale_round_ps(A, B, C, R)
Definition avx512fintrin.h:9430
__inline __m512i long long long long long long __D
Definition avx512fintrin.h:80
#define _mm_min_round_ss(A, B, C)
Definition avx512fintrin.h:11726
#define _mm512_permutex_epi64(X, I)
Definition avx512fintrin.h:6958
__inline __m512i char char char char char char char char __q55
Definition avx512fintrin.h:123
#define _mm512_maskz_sqrt_round_ps(U, A, C)
Definition avx512fintrin.h:2143
#define _mm512_min_round_pd(A, B, R)
Definition avx512fintrin.h:3134
#define _mm_maskz_sub_round_sd(U, A, B, C)
Definition avx512fintrin.h:1628
#define __MM512_REDUCE_OP(op)
Definition avx512fintrin.h:16006
#define _mm512_maskz_div_round_pd(U, A, B, C)
Definition avx512fintrin.h:2931
#define _mm_maskz_fnmsub_round_ss(U, A, B, C, R)
Definition avx512fintrin.h:12477
#define _mm512_cvtt_roundpd_epu32(A, B)
Definition avx512fintrin.h:4914
#define _mm_sub_round_sd(A, B, C)
Definition avx512fintrin.h:1622
__inline __m512i int int int int int int int int int int int __L
Definition avx512fintrin.h:92
#define _mm_cvt_roundss_sd(A, B, C)
Definition avx512fintrin.h:8802
#define _mm512_extractf64x4_pd(X, C)
Definition avx512fintrin.h:6075
__inline __m512i int int int int int int int int int int int int __M
Definition avx512fintrin.h:93
#define _mm512_mask_fnmsub_round_ps(A, U, B, C, R)
Definition avx512fintrin.h:4016
#define _mm512_max_round_pd(A, B, R)
Definition avx512fintrin.h:3116
__inline __m512i long long __B
Definition avx512fintrin.h:79
#define _mm512_i32gather_epi32(INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10691
#define _mm512_maskz_cvt_roundps_pd(U, A, B)
Definition avx512fintrin.h:8654
#define _mm512_insertf64x4(X, Y, C)
Definition avx512fintrin.h:6251
#define _mm512_maskz_fixupimm_pd(U, X, Y, Z, C)
Definition avx512fintrin.h:14366
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char char char char char __q36
Definition avx512fintrin.h:127
#define _mm512_mask3_fmadd_round_ps(A, B, C, U, R)
Definition avx512fintrin.h:3899
#define _mm512_permute_ps(X, C)
Definition avx512fintrin.h:6868
#define _mm512_maskz_getexp_ps(U, A)
Definition avx512fintrin.h:15075
#define _mm512_mask3_fnmsub_round_ps(A, B, C, U, R)
Definition avx512fintrin.h:4019
#define _mm512_mask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10724
#define _mm512_mask3_fmsub_round_ps(A, B, C, U, R)
Definition avx512fintrin.h:3923
#define _mm512_mask_sub_round_ps(W, U, A, B, C)
Definition avx512fintrin.h:2636
#define _mm_cvt_roundsd_u32(A, B)
Definition avx512fintrin.h:8378
#define _mm_mask_div_round_ss(W, U, A, B, C)
Definition avx512fintrin.h:2973
#define _mm_maskz_cvt_roundss_sd(U, A, B, C)
Definition avx512fintrin.h:8808
#define _mm512_maskz_srai_epi32(U, X, C)
Definition avx512fintrin.h:1436
#define _mm512_maskz_cvt_roundpd_epi32(U, A, B)
Definition avx512fintrin.h:4991
#define _mm512_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE)
Definition avx512fintrin.h:10759
#define _mm512_mask3_fmsub_round_pd(A, B, C, U, R)
Definition avx512fintrin.h:3911
#define _mm512_maskz_getexp_round_ps(U, A, R)
Definition avx512fintrin.h:9257
#define _mm512_mask_roundscale_round_ps(A, B, C, D, R)
Definition avx512fintrin.h:9425
#define _mm512_maskz_fixupimm_ps(U, X, Y, Z, C)
Definition avx512fintrin.h:14381
#define _mm_maskz_min_round_ss(U, A, B, C)
Definition avx512fintrin.h:11732
#define _mm_mask3_fnmsub_round_ss(A, B, C, U, R)
Definition avx512fintrin.h:12471
#define _mm512_mask_getmant_pd(W, U, X, B, C)
Definition avx512fintrin.h:14966
#define _mm512_mask_cvt_roundps_ph(U, W, A, I)
Definition avx512fintrin.h:8672
#define _mm512_maskz_srai_epi64(U, X, C)
Definition avx512fintrin.h:1199
#define _mm512_mask_cvtt_roundpd_epu32(W, U, A, B)
Definition avx512fintrin.h:4917
unsigned char __mmask8
Definition avx512fintrin.h:60
#define _mm512_maskz_mul_round_ps(U, A, B, C)
Definition avx512fintrin.h:2922
__inline __m512d __mmask8 __m512d __A
Definition avx512fintrin.h:342
#define _mm_maskz_getexp_ss(U, A, B)
Definition avx512fintrin.h:15051
#define _mm_fmadd_round_sd(A, B, C, R)
Definition avx512fintrin.h:11854
_MM_TERNLOG_ENUM
Definition avx512fintrin.h:1645
@ _MM_TERNLOG_A
Definition avx512fintrin.h:1646
@ _MM_TERNLOG_B
Definition avx512fintrin.h:1647
@ _MM_TERNLOG_C
Definition avx512fintrin.h:1648
#define _mm512_ternarylogic_epi64(A, B, C, I)
Definition avx512fintrin.h:1730
#define _mm_mask_fnmadd_round_ss(A, U, B, C, R)
Definition avx512fintrin.h:12447
#define _mm512_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE)
Definition avx512fintrin.h:10799
#define _mm512_i64scatter_epi32(ADDR, INDEX, V1, SCALE)
Definition avx512fintrin.h:10804
#define _mm_cvtt_roundsd_si32(A, B)
Definition avx512fintrin.h:8390
__inline __m512i char char char char char char char char char char char char char char char char char char char __q44
Definition avx512fintrin.h:125
__inline __m512i char char char char char char char char char char char char char char char char char char __q45
Definition avx512fintrin.h:125
__inline __m512i short short short short short short short short short __q22
Definition avx512fintrin.h:104
__inline __m512i char char char char char char char char char char __q53
Definition avx512fintrin.h:123
#define _mm512_mask_cvtt_roundps_epi32(W, U, A, B)
Definition avx512fintrin.h:5068
#define _mm512_getmant_round_pd(X, B, C, R)
Definition avx512fintrin.h:9146
#define _mm_mask_roundscale_round_sd(A, U, B, C, I, R)
Definition avx512fintrin.h:9480
#define _mm512_mask_getmant_ps(W, U, X, B, C)
Definition avx512fintrin.h:14986
#define _mm512_cvt_roundpd_epi32(A, B)
Definition avx512fintrin.h:4985
#define _mm512_fixupimm_ps(X, Y, Z, C)
Definition avx512fintrin.h:14371
#define _mm512_mask_max_round_pd(W, U, A, B, R)
Definition avx512fintrin.h:3119
#define _mm512_maskz_scalef_round_ps(U, A, B, C)
Definition avx512fintrin.h:3313
#define _mm_mask_cmp_round_ss_mask(M, X, Y, P, R)
Definition avx512fintrin.h:10295
#define _mm512_maskz_mul_round_pd(U, A, B, C)
Definition avx512fintrin.h:2913
#define _mm512_permute_pd(X, C)
Definition avx512fintrin.h:6853
#define _mm_mask_mul_round_sd(W, U, A, B, C)
Definition avx512fintrin.h:2946
#define _mm_fnmsub_round_ss(A, B, C, R)
Definition avx512fintrin.h:11875
#define _mm512_maskz_permute_pd(U, X, C)
Definition avx512fintrin.h:6863
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short short short short short short __q04
Definition avx512fintrin.h:108
__inline __m512i short short short short short __q26
Definition avx512fintrin.h:103
#define _mm_cvtt_roundsd_u32(A, B)
Definition avx512fintrin.h:8387
#define _mm_cvt_roundsd_si32(A, B)
Definition avx512fintrin.h:8381
#define _mm512_mask_cmp_epu32_mask(M, X, Y, P)
Definition avx512fintrin.h:10265
#define _mm512_mask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10671
__inline __m512i char char char char char char char char char char char __q52
Definition avx512fintrin.h:123
#define _mm_maskz_roundscale_sd(U, A, B, I)
Definition avx512fintrin.h:15309
#define _mm512_mask_div_round_ps(W, U, A, B, C)
Definition avx512fintrin.h:2937
#define _mm_mask3_fnmadd_round_sd(A, B, C, U, R)
Definition avx512fintrin.h:12450
_MM_MANTISSA_SIGN_ENUM
Definition avx512fintrin.h:8864
@ _MM_MANT_SIGN_zero
Definition avx512fintrin.h:8866
@ _MM_MANT_SIGN_src
Definition avx512fintrin.h:8865
@ _MM_MANT_SIGN_nan
Definition avx512fintrin.h:8867
__inline __m512i char char char char char char char char char char char char __q51
Definition avx512fintrin.h:124
#define _mm512_maskz_slli_epi32(U, X, C)
Definition avx512fintrin.h:1278
#define _mm_mask_sqrt_round_sd(W, U, A, B, C)
Definition avx512fintrin.h:2150
#define _mm512_mask_cvt_roundepu32_ps(W, U, A, B)
Definition avx512fintrin.h:5934
__inline __m512i char char __q61
Definition avx512fintrin.h:121
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char char char __q38
Definition avx512fintrin.h:127
#define _mm512_maskz_rol_epi32(U, A, B)
Definition avx512fintrin.h:7726
#define _mm512_ror_epi32(A, B)
Definition avx512fintrin.h:7731
__inline __m512i short short __q29
Definition avx512fintrin.h:102
__inline __m512i short short short short short short __q25
Definition avx512fintrin.h:103
#define _mm_maskz_sqrt_round_sd(U, A, B, C)
Definition avx512fintrin.h:2153
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char char char char char char char __q34
Definition avx512fintrin.h:128
#define _mm_cvtt_roundss_u32(A, B)
Definition avx512fintrin.h:8261
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char char char char char char char char char __q32
Definition avx512fintrin.h:128
#define _mm512_mask_fmsub_round_ps(A, U, B, C, R)
Definition avx512fintrin.h:3920
#define _mm_mask_roundscale_round_ss(A, U, B, C, I, R)
Definition avx512fintrin.h:9456
#define _mm512_i64gather_ps(INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10665
#define _mm512_maskz_alignr_epi64(U, X, Y, C)
Definition avx512fintrin.h:9671
#define _mm_fixupimm_round_ss(X, Y, Z, C, R)
Definition avx512fintrin.h:7398
#define _mm512_maskz_getmant_round_pd(U, X, B, C, R)
Definition avx512fintrin.h:9160
#define _mm512_mask_insertf32x4(A, B, X, Y, C)
Definition avx512fintrin.h:11278
#define _mm512_mask_roundscale_ps(A, B, C, D)
Definition avx512fintrin.h:15246
#define _mm512_mask_cvt_roundph_ps(W, U, A, B)
Definition avx512fintrin.h:8660
#define _mm_roundscale_sd(A, B, I)
Definition avx512fintrin.h:15293
#define _mm512_maskz_sqrt_round_pd(U, A, C)
Definition avx512fintrin.h:2134
#define _mm512_maskz_ternarylogic_epi64(U, A, B, C, I)
Definition avx512fintrin.h:1744
#define _mm512_fnmadd_round_ps(A, B, C, R)
Definition avx512fintrin.h:3989
__inline __m512i int int int int int int int int int int int int int int __O
Definition avx512fintrin.h:93
#define _mm512_mask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10711
#define _mm512_mask3_fnmadd_round_pd(A, B, C, U, R)
Definition avx512fintrin.h:3983
#define _mm_mask_add_round_ss(W, U, A, B, C)
Definition avx512fintrin.h:1616
#define _mm512_mask_fnmsub_round_pd(A, U, B, C, R)
Definition avx512fintrin.h:4004
#define _mm_fixupimm_sd(X, Y, Z, C)
Definition avx512fintrin.h:14386
#define _mm512_maskz_min_round_ps(U, A, B, R)
Definition avx512fintrin.h:3149
#define _mm512_cmp_epu64_mask(X, Y, P)
Definition avx512fintrin.h:10230
#define _mm512_maskz_cvt_roundepu32_ps(U, A, B)
Definition avx512fintrin.h:5937
#define _mm_mask_getexp_ss(W, U, A, B)
Definition avx512fintrin.h:15047
#define _mm_cmp_round_ss_mask(X, Y, P, R)
Definition avx512fintrin.h:10290
#define _mm_mask_roundscale_sd(A, U, B, C, I)
Definition avx512fintrin.h:15301
#define _mm_maskz_fixupimm_round_ss(U, X, Y, Z, C, R)
Definition avx512fintrin.h:7408
#define _mm512_maskz_getexp_round_pd(U, A, R)
Definition avx512fintrin.h:9269
#define _mm512_maskz_getmant_round_ps(U, X, B, C, R)
Definition avx512fintrin.h:9180
#define _mm512_mask_permute_pd(W, U, X, C)
Definition avx512fintrin.h:6858
#define _mm_cmp_ss_mask(X, Y, P)
Definition avx512fintrin.h:15431
#define _mm_fnmadd_round_sd(A, B, C, R)
Definition avx512fintrin.h:11866
#define _mm512_cvt_roundepi32_ps(A, B)
Definition avx512fintrin.h:5922
#define _mm512_cmp_ps_mask(X, Y, P)
Definition avx512fintrin.h:15406
#define _mm512_mask_add_round_ps(W, U, A, B, C)
Definition avx512fintrin.h:2618
#define _mm512_mask_ror_epi64(W, U, A, B)
Definition avx512fintrin.h:7767
#define _mm512_maskz_cvt_roundps_ph(W, A, I)
Definition avx512fintrin.h:8678
__inline __m512i char char char char char char char char char char char char char char char char char __q46
Definition avx512fintrin.h:125
#define _mm512_mask_fixupimm_round_pd(X, U, Y, Z, C, R)
Definition avx512fintrin.h:7358
#define _mm_mask_getmant_round_sd(W, U, X, Y, C, D, R)
Definition avx512fintrin.h:9192
#define _mm_mask_fnmsub_round_ss(A, U, B, C, R)
Definition avx512fintrin.h:12465
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char __q41
Definition avx512fintrin.h:126
__inline __m512i short short short short short short short short short short short short short short short short short short short __q12
Definition avx512fintrin.h:106
#define _mm_mask_getmant_ss(W, U, X, Y, C, D)
Definition avx512fintrin.h:15027
#define _mm512_maskz_shuffle_ps(U, X, Y, C)
Definition avx512fintrin.h:7347
__inline __m512i char char char char char char char char char char char char char char char char char char char char __q43
Definition avx512fintrin.h:126
#define _mm512_mask_cvt_roundps_epu32(W, U, A, B)
Definition avx512fintrin.h:5157
#define _mm_mask3_fmsub_round_sd(A, B, C, U, R)
Definition avx512fintrin.h:12432
#define _mm_comi_round_sd(A, B, C, D)
Definition avx512fintrin.h:12498
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short short short __q07
Definition avx512fintrin.h:108
#define _mm512_mask_inserti64x4(W, U, X, Y, C)
Definition avx512fintrin.h:6275
#define _mm512_cvt_roundps_ph(A, I)
Definition avx512fintrin.h:8666
#define _mm512_mask_shuffle_f32x4(W, U, X, Y, C)
Definition avx512fintrin.h:4703
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char char char char __q37
Definition avx512fintrin.h:127
#define _mm512_maskz_shuffle_i64x2(U, X, Y, C)
Definition avx512fintrin.h:4655
_MM_PERM_ENUM
Definition avx512fintrin.h:4365
@ _MM_PERM_BBCA
Definition avx512fintrin.h:4395
@ _MM_PERM_BCBD
Definition avx512fintrin.h:4400
@ _MM_PERM_DAAB
Definition avx512fintrin.h:4430
@ _MM_PERM_CBBD
Definition avx512fintrin.h:4416
@ _MM_PERM_DCCC
Definition avx512fintrin.h:4444
@ _MM_PERM_CDBB
Definition avx512fintrin.h:4426
@ _MM_PERM_DDDD
Definition avx512fintrin.h:4451
@ _MM_PERM_CCCC
Definition avx512fintrin.h:4422
@ _MM_PERM_CADA
Definition avx512fintrin.h:4412
@ _MM_PERM_BACD
Definition avx512fintrin.h:4391
@ _MM_PERM_CCAD
Definition avx512fintrin.h:4420
@ _MM_PERM_ABDB
Definition avx512fintrin.h:4375
@ _MM_PERM_BBBD
Definition avx512fintrin.h:4395
@ _MM_PERM_DCAB
Definition avx512fintrin.h:4441
@ _MM_PERM_BABC
Definition avx512fintrin.h:4389
@ _MM_PERM_AACD
Definition avx512fintrin.h:4369
@ _MM_PERM_BBAB
Definition avx512fintrin.h:4393
@ _MM_PERM_DCDB
Definition avx512fintrin.h:4445
@ _MM_PERM_BACC
Definition avx512fintrin.h:4390
@ _MM_PERM_ABDA
Definition avx512fintrin.h:4375
@ _MM_PERM_ACCC
Definition avx512fintrin.h:4380
@ _MM_PERM_ADAC
Definition avx512fintrin.h:4382
@ _MM_PERM_CCCD
Definition avx512fintrin.h:4423
@ _MM_PERM_CADD
Definition avx512fintrin.h:4413
@ _MM_PERM_ACCB
Definition avx512fintrin.h:4379
@ _MM_PERM_BBDB
Definition avx512fintrin.h:4397
@ _MM_PERM_ABBB
Definition avx512fintrin.h:4373
@ _MM_PERM_BACB
Definition avx512fintrin.h:4390
@ _MM_PERM_CDCA
Definition avx512fintrin.h:4427
@ _MM_PERM_ACBC
Definition avx512fintrin.h:4378
@ _MM_PERM_ADCB
Definition avx512fintrin.h:4385
@ _MM_PERM_BBBC
Definition avx512fintrin.h:4394
@ _MM_PERM_DBBA
Definition avx512fintrin.h:4436
@ _MM_PERM_BBBB
Definition avx512fintrin.h:4394
@ _MM_PERM_DDDB
Definition avx512fintrin.h:4450
@ _MM_PERM_CAAA
Definition avx512fintrin.h:4408
@ _MM_PERM_ADBB
Definition avx512fintrin.h:4383
@ _MM_PERM_ACDB
Definition avx512fintrin.h:4381
@ _MM_PERM_DCAD
Definition avx512fintrin.h:4441
@ _MM_PERM_DBBC
Definition avx512fintrin.h:4437
@ _MM_PERM_BAAB
Definition avx512fintrin.h:4387
@ _MM_PERM_BDDD
Definition avx512fintrin.h:4408
@ _MM_PERM_BBAD
Definition avx512fintrin.h:4393
@ _MM_PERM_DDBA
Definition avx512fintrin.h:4447
@ _MM_PERM_CDCD
Definition avx512fintrin.h:4428
@ _MM_PERM_CCCA
Definition avx512fintrin.h:4422
@ _MM_PERM_DBBB
Definition avx512fintrin.h:4437
@ _MM_PERM_DAAD
Definition avx512fintrin.h:4431
@ _MM_PERM_DCBA
Definition avx512fintrin.h:4442
@ _MM_PERM_CCBC
Definition avx512fintrin.h:4421
@ _MM_PERM_ADDD
Definition avx512fintrin.h:4387
@ _MM_PERM_DBAC
Definition avx512fintrin.h:4436
@ _MM_PERM_ABAB
Definition avx512fintrin.h:4371
@ _MM_PERM_CBDB
Definition avx512fintrin.h:4418
@ _MM_PERM_CDBC
Definition avx512fintrin.h:4426
@ _MM_PERM_AABC
Definition avx512fintrin.h:4368
@ _MM_PERM_DABD
Definition avx512fintrin.h:4432
@ _MM_PERM_CBBA
Definition avx512fintrin.h:4415
@ _MM_PERM_CBAA
Definition avx512fintrin.h:4414
@ _MM_PERM_BDDB
Definition avx512fintrin.h:4407
@ _MM_PERM_CABC
Definition avx512fintrin.h:4410
@ _MM_PERM_BDBD
Definition avx512fintrin.h:4405
@ _MM_PERM_BCAD
Definition avx512fintrin.h:4399
@ _MM_PERM_ACBA
Definition avx512fintrin.h:4378
@ _MM_PERM_ADBA
Definition avx512fintrin.h:4383
@ _MM_PERM_ADBC
Definition avx512fintrin.h:4384
@ _MM_PERM_DBCB
Definition avx512fintrin.h:4438
@ _MM_PERM_CBDC
Definition avx512fintrin.h:4418
@ _MM_PERM_CBAD
Definition avx512fintrin.h:4415
@ _MM_PERM_ABCC
Definition avx512fintrin.h:4374
@ _MM_PERM_AAAD
Definition avx512fintrin.h:4367
@ _MM_PERM_CBAC
Definition avx512fintrin.h:4414
@ _MM_PERM_CCDA
Definition avx512fintrin.h:4423
@ _MM_PERM_CDAC
Definition avx512fintrin.h:4425
@ _MM_PERM_BADD
Definition avx512fintrin.h:4392
@ _MM_PERM_DAAC
Definition avx512fintrin.h:4430
@ _MM_PERM_BCCC
Definition avx512fintrin.h:4401
@ _MM_PERM_DBBD
Definition avx512fintrin.h:4437
@ _MM_PERM_DDAC
Definition avx512fintrin.h:4446
@ _MM_PERM_DACD
Definition avx512fintrin.h:4433
@ _MM_PERM_BAAC
Definition avx512fintrin.h:4388
@ _MM_PERM_ACCA
Definition avx512fintrin.h:4379
@ _MM_PERM_ABDD
Definition avx512fintrin.h:4376
@ _MM_PERM_BBCC
Definition avx512fintrin.h:4396
@ _MM_PERM_DAAA
Definition avx512fintrin.h:4430
@ _MM_PERM_CAAB
Definition avx512fintrin.h:4409
@ _MM_PERM_BCDB
Definition avx512fintrin.h:4402
@ _MM_PERM_ACBB
Definition avx512fintrin.h:4378
@ _MM_PERM_CDAB
Definition avx512fintrin.h:4425
@ _MM_PERM_DBDB
Definition avx512fintrin.h:4439
@ _MM_PERM_AABB
Definition avx512fintrin.h:4367
@ _MM_PERM_DBDA
Definition avx512fintrin.h:4439
@ _MM_PERM_BCBA
Definition avx512fintrin.h:4399
@ _MM_PERM_CBAB
Definition avx512fintrin.h:4414
@ _MM_PERM_DCDC
Definition avx512fintrin.h:4445
@ _MM_PERM_BBCB
Definition avx512fintrin.h:4395
@ _MM_PERM_CDCB
Definition avx512fintrin.h:4427
@ _MM_PERM_AACA
Definition avx512fintrin.h:4368
@ _MM_PERM_ACBD
Definition avx512fintrin.h:4379
@ _MM_PERM_AAAB
Definition avx512fintrin.h:4366
@ _MM_PERM_DCCB
Definition avx512fintrin.h:4443
@ _MM_PERM_ADDB
Definition avx512fintrin.h:4386
@ _MM_PERM_AAAA
Definition avx512fintrin.h:4366
@ _MM_PERM_AACC
Definition avx512fintrin.h:4369
@ _MM_PERM_BDDC
Definition avx512fintrin.h:4408
@ _MM_PERM_CBBC
Definition avx512fintrin.h:4416
@ _MM_PERM_DDCC
Definition avx512fintrin.h:4449
@ _MM_PERM_CABD
Definition avx512fintrin.h:4411
@ _MM_PERM_AADC
Definition avx512fintrin.h:4370
@ _MM_PERM_BCBC
Definition avx512fintrin.h:4400
@ _MM_PERM_BCCA
Definition avx512fintrin.h:4400
@ _MM_PERM_CCBD
Definition avx512fintrin.h:4421
@ _MM_PERM_CBBB
Definition avx512fintrin.h:4415
@ _MM_PERM_CDBA
Definition avx512fintrin.h:4426
@ _MM_PERM_CACD
Definition avx512fintrin.h:4412
@ _MM_PERM_BDAD
Definition avx512fintrin.h:4404
@ _MM_PERM_ADCA
Definition avx512fintrin.h:4384
@ _MM_PERM_AAAC
Definition avx512fintrin.h:4366
@ _MM_PERM_BDDA
Definition avx512fintrin.h:4407
@ _MM_PERM_CCAC
Definition avx512fintrin.h:4420
@ _MM_PERM_ACDC
Definition avx512fintrin.h:4381
@ _MM_PERM_DBCA
Definition avx512fintrin.h:4438
@ _MM_PERM_DBAA
Definition avx512fintrin.h:4435
@ _MM_PERM_AABD
Definition avx512fintrin.h:4368
@ _MM_PERM_CDCC
Definition avx512fintrin.h:4428
@ _MM_PERM_DCAA
Definition avx512fintrin.h:4440
@ _MM_PERM_DDDC
Definition avx512fintrin.h:4450
@ _MM_PERM_CDDB
Definition avx512fintrin.h:4429
@ _MM_PERM_AABA
Definition avx512fintrin.h:4367
@ _MM_PERM_DDBB
Definition avx512fintrin.h:4447
@ _MM_PERM_CDDA
Definition avx512fintrin.h:4428
@ _MM_PERM_AADD
Definition avx512fintrin.h:4371
@ _MM_PERM_BADC
Definition avx512fintrin.h:4392
@ _MM_PERM_BDBA
Definition avx512fintrin.h:4404
@ _MM_PERM_DBDD
Definition avx512fintrin.h:4440
@ _MM_PERM_BDAC
Definition avx512fintrin.h:4404
@ _MM_PERM_DBDC
Definition avx512fintrin.h:4440
@ _MM_PERM_BBBA
Definition avx512fintrin.h:4394
@ _MM_PERM_DDBC
Definition avx512fintrin.h:4448
@ _MM_PERM_BAAA
Definition avx512fintrin.h:4387
@ _MM_PERM_BDCC
Definition avx512fintrin.h:4406
@ _MM_PERM_DDAB
Definition avx512fintrin.h:4446
@ _MM_PERM_BCCB
Definition avx512fintrin.h:4401
@ _MM_PERM_BCCD
Definition avx512fintrin.h:4401
@ _MM_PERM_ADBD
Definition avx512fintrin.h:4384
@ _MM_PERM_ADCC
Definition avx512fintrin.h:4385
@ _MM_PERM_CCBB
Definition avx512fintrin.h:4421
@ _MM_PERM_CDAA
Definition avx512fintrin.h:4424
@ _MM_PERM_BBDA
Definition avx512fintrin.h:4396
@ _MM_PERM_CACC
Definition avx512fintrin.h:4412
@ _MM_PERM_DCBB
Definition avx512fintrin.h:4442
@ _MM_PERM_DABA
Definition avx512fintrin.h:4431
@ _MM_PERM_BADB
Definition avx512fintrin.h:4391
@ _MM_PERM_ABCA
Definition avx512fintrin.h:4374
@ _MM_PERM_CBCC
Definition avx512fintrin.h:4417
@ _MM_PERM_ABAD
Definition avx512fintrin.h:4372
@ _MM_PERM_BDBC
Definition avx512fintrin.h:4405
@ _MM_PERM_DDDA
Definition avx512fintrin.h:4450
@ _MM_PERM_ADAB
Definition avx512fintrin.h:4382
@ _MM_PERM_CADB
Definition avx512fintrin.h:4413
@ _MM_PERM_ADAA
Definition avx512fintrin.h:4382
@ _MM_PERM_ACAC
Definition avx512fintrin.h:4377
@ _MM_PERM_DADD
Definition avx512fintrin.h:4435
@ _MM_PERM_BABD
Definition avx512fintrin.h:4389
@ _MM_PERM_ACCD
Definition avx512fintrin.h:4380
@ _MM_PERM_CCAA
Definition avx512fintrin.h:4419
@ _MM_PERM_AADA
Definition avx512fintrin.h:4370
@ _MM_PERM_BDCA
Definition avx512fintrin.h:4406
@ _MM_PERM_CDDD
Definition avx512fintrin.h:4429
@ _MM_PERM_ABBD
Definition avx512fintrin.h:4373
@ _MM_PERM_ACAA
Definition avx512fintrin.h:4376
@ _MM_PERM_ACDD
Definition avx512fintrin.h:4381
@ _MM_PERM_DABB
Definition avx512fintrin.h:4431
@ _MM_PERM_CCCB
Definition avx512fintrin.h:4422
@ _MM_PERM_AADB
Definition avx512fintrin.h:4370
@ _MM_PERM_DBAD
Definition avx512fintrin.h:4436
@ _MM_PERM_BBDD
Definition avx512fintrin.h:4397
@ _MM_PERM_BCDC
Definition avx512fintrin.h:4402
@ _MM_PERM_CABA
Definition avx512fintrin.h:4410
@ _MM_PERM_BBAA
Definition avx512fintrin.h:4392
@ _MM_PERM_ADAD
Definition avx512fintrin.h:4383
@ _MM_PERM_BADA
Definition avx512fintrin.h:4391
@ _MM_PERM_DCDA
Definition avx512fintrin.h:4444
@ _MM_PERM_ABBA
Definition avx512fintrin.h:4372
@ _MM_PERM_ACAB
Definition avx512fintrin.h:4377
@ _MM_PERM_CCDD
Definition avx512fintrin.h:4424
@ _MM_PERM_CADC
Definition avx512fintrin.h:4413
@ _MM_PERM_DDCB
Definition avx512fintrin.h:4449
@ _MM_PERM_BABB
Definition avx512fintrin.h:4389
@ _MM_PERM_CCDB
Definition avx512fintrin.h:4423
@ _MM_PERM_DDAD
Definition avx512fintrin.h:4447
@ _MM_PERM_DBCC
Definition avx512fintrin.h:4438
@ _MM_PERM_BCBB
Definition avx512fintrin.h:4399
@ _MM_PERM_ADDC
Definition avx512fintrin.h:4386
@ _MM_PERM_CCBA
Definition avx512fintrin.h:4420
@ _MM_PERM_ABCD
Definition avx512fintrin.h:4375
@ _MM_PERM_BCAB
Definition avx512fintrin.h:4398
@ _MM_PERM_DCBC
Definition avx512fintrin.h:4442
@ _MM_PERM_BCDD
Definition avx512fintrin.h:4403
@ _MM_PERM_CCDC
Definition avx512fintrin.h:4424
@ _MM_PERM_ABAC
Definition avx512fintrin.h:4372
@ _MM_PERM_CBCB
Definition avx512fintrin.h:4417
@ _MM_PERM_CCAB
Definition avx512fintrin.h:4419
@ _MM_PERM_DDCD
Definition avx512fintrin.h:4449
@ _MM_PERM_DACA
Definition avx512fintrin.h:4432
@ _MM_PERM_ACAD
Definition avx512fintrin.h:4377
@ _MM_PERM_BABA
Definition avx512fintrin.h:4388
@ _MM_PERM_CBCD
Definition avx512fintrin.h:4417
@ _MM_PERM_CAAD
Definition avx512fintrin.h:4409
@ _MM_PERM_DCDD
Definition avx512fintrin.h:4445
@ _MM_PERM_BDBB
Definition avx512fintrin.h:4405
@ _MM_PERM_BCAA
Definition avx512fintrin.h:4398
@ _MM_PERM_ABDC
Definition avx512fintrin.h:4376
@ _MM_PERM_BBCD
Definition avx512fintrin.h:4396
@ _MM_PERM_CAAC
Definition avx512fintrin.h:4409
@ _MM_PERM_BBAC
Definition avx512fintrin.h:4393
@ _MM_PERM_CBCA
Definition avx512fintrin.h:4416
@ _MM_PERM_DCAC
Definition avx512fintrin.h:4441
@ _MM_PERM_ABAA
Definition avx512fintrin.h:4371
@ _MM_PERM_CACB
Definition avx512fintrin.h:4411
@ _MM_PERM_BBDC
Definition avx512fintrin.h:4397
@ _MM_PERM_CDAD
Definition avx512fintrin.h:4425
@ _MM_PERM_ADCD
Definition avx512fintrin.h:4385
@ _MM_PERM_DADB
Definition avx512fintrin.h:4434
@ _MM_PERM_DBCD
Definition avx512fintrin.h:4439
@ _MM_PERM_DACC
Definition avx512fintrin.h:4433
@ _MM_PERM_DACB
Definition avx512fintrin.h:4433
@ _MM_PERM_DCBD
Definition avx512fintrin.h:4443
@ _MM_PERM_CACA
Definition avx512fintrin.h:4411
@ _MM_PERM_ABBC
Definition avx512fintrin.h:4373
@ _MM_PERM_DCCA
Definition avx512fintrin.h:4443
@ _MM_PERM_DABC
Definition avx512fintrin.h:4432
@ _MM_PERM_CBDD
Definition avx512fintrin.h:4419
@ _MM_PERM_DDBD
Definition avx512fintrin.h:4448
@ _MM_PERM_DDCA
Definition avx512fintrin.h:4448
@ _MM_PERM_BDCD
Definition avx512fintrin.h:4407
@ _MM_PERM_CDBD
Definition avx512fintrin.h:4427
@ _MM_PERM_ABCB
Definition avx512fintrin.h:4374
@ _MM_PERM_CDDC
Definition avx512fintrin.h:4429
@ _MM_PERM_AACB
Definition avx512fintrin.h:4369
@ _MM_PERM_DDAA
Definition avx512fintrin.h:4446
@ _MM_PERM_ADDA
Definition avx512fintrin.h:4386
@ _MM_PERM_DADA
Definition avx512fintrin.h:4434
@ _MM_PERM_BCDA
Definition avx512fintrin.h:4402
@ _MM_PERM_BDAB
Definition avx512fintrin.h:4403
@ _MM_PERM_BAAD
Definition avx512fintrin.h:4388
@ _MM_PERM_DBAB
Definition avx512fintrin.h:4435
@ _MM_PERM_DCCD
Definition avx512fintrin.h:4444
@ _MM_PERM_CABB
Definition avx512fintrin.h:4410
@ _MM_PERM_BDAA
Definition avx512fintrin.h:4403
@ _MM_PERM_BDCB
Definition avx512fintrin.h:4406
@ _MM_PERM_ACDA
Definition avx512fintrin.h:4380
@ _MM_PERM_DADC
Definition avx512fintrin.h:4434
@ _MM_PERM_CBDA
Definition avx512fintrin.h:4418
@ _MM_PERM_BCAC
Definition avx512fintrin.h:4398
@ _MM_PERM_BACA
Definition avx512fintrin.h:4390
#define _mm512_mask_getexp_round_ps(W, U, A, R)
Definition avx512fintrin.h:9253
#define _mm_maskz_div_round_ss(U, A, B, C)
Definition avx512fintrin.h:2976
#define _mm512_shuffle_i32x4(X, Y, C)
Definition avx512fintrin.h:4661
#define _mm_maskz_fnmadd_round_sd(U, A, B, C, R)
Definition avx512fintrin.h:12456
#define _mm512_mul_round_ps(A, B, C)
Definition avx512fintrin.h:2916
#define _mm_fmadd_round_ss(A, B, C, R)
Definition avx512fintrin.h:11857
#define _mm_roundscale_round_ss(A, B, I, R)
Definition avx512fintrin.h:9448
#define _mm512_mask_permute_ps(W, U, X, C)
Definition avx512fintrin.h:6873
#define _mm_mask_sub_round_ss(W, U, A, B, C)
Definition avx512fintrin.h:1634
#define _mm512_shuffle_f32x4(X, Y, C)
Definition avx512fintrin.h:4697
#define _mm_mask_mul_round_ss(W, U, A, B, C)
Definition avx512fintrin.h:2955
#define _mm512_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE)
Definition avx512fintrin.h:10789
#define _mm512_mask_sqrt_round_pd(W, U, A, C)
Definition avx512fintrin.h:2131
#define _mm512_roundscale_ps(A, B)
Definition avx512fintrin.h:15243
#define _mm_getmant_round_sd(X, Y, C, D, R)
Definition avx512fintrin.h:9186
#define _mm_mask_getmant_sd(W, U, X, Y, C, D)
Definition avx512fintrin.h:15005
__inline __m512i short short short short short short short short short short short short short short short short short __q14
Definition avx512fintrin.h:106
#define _mm512_maskz_fmsubadd_round_ps(U, A, B, C, R)
Definition avx512fintrin.h:3974
#define _mm512_mask3_fmsubadd_round_pd(A, B, C, U, R)
Definition avx512fintrin.h:3959
#define _mm_mask_fixupimm_round_sd(X, U, Y, Z, C, R)
Definition avx512fintrin.h:7388
#define _mm512_mask3_fmaddsub_round_ps(A, B, C, U, R)
Definition avx512fintrin.h:3947
#define _mm_getexp_ss(A, B)
Definition avx512fintrin.h:15043
#define _mm512_getexp_round_pd(A, R)
Definition avx512fintrin.h:9261
#define _mm512_maskz_fmaddsub_round_ps(U, A, B, C, R)
Definition avx512fintrin.h:3950
#define _mm512_maskz_cvtt_roundpd_epi32(U, A, B)
Definition avx512fintrin.h:4911
#define _mm512_mask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10737
#define _mm512_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE)
Definition avx512fintrin.h:10819
#define _mm512_maskz_fnmsub_round_ps(U, A, B, C, R)
Definition avx512fintrin.h:4022
#define _mm_getexp_round_ss(A, B, R)
Definition avx512fintrin.h:9230
#define _mm512_maskz_permute_ps(U, X, C)
Definition avx512fintrin.h:6878
#define _mm512_maskz_cvtt_roundps_epu32(U, A, B)
Definition avx512fintrin.h:5080
__inline __m512i char char char char char char char __q56
Definition avx512fintrin.h:122
__inline __m512d __m512d __m512d __W
Definition avx512fintrin.h:11740
#define _mm512_mask_fmadd_round_pd(A, U, B, C, R)
Definition avx512fintrin.h:3884
#define _mm512_cvt_roundpd_epu32(A, B)
Definition avx512fintrin.h:4994
#define _mm512_maskz_alignr_epi32(U, X, Y, C)
Definition avx512fintrin.h:9657
__inline __m512i short short short short short short short short short short short short __q19
Definition avx512fintrin.h:105
#define _mm_maskz_getmant_ss(U, X, Y, C, D)
Definition avx512fintrin.h:15035
#define _mm512_mask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10658
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char __q40
Definition avx512fintrin.h:126
#define _mm512_maskz_extractf64x4_pd(U, X, C)
Definition avx512fintrin.h:6087
#define _mm512_sqrt_round_pd(A, C)
Definition avx512fintrin.h:2128
#define _mm512_maskz_fmsub_round_pd(U, A, B, C, R)
Definition avx512fintrin.h:3914
#define _mm_maskz_fnmadd_round_ss(U, A, B, C, R)
Definition avx512fintrin.h:12459
#define _mm_maskz_add_round_ss(U, A, B, C)
Definition avx512fintrin.h:1619
#define _mm512_maskz_getmant_ps(U, X, B, C)
Definition avx512fintrin.h:14993
#define _mm512_mask_srai_epi32(W, U, X, C)
Definition avx512fintrin.h:1431
#define _mm_mask_cmp_sd_mask(M, X, Y, P)
Definition avx512fintrin.h:15426
#define _mm512_cvtt_roundps_epu32(A, B)
Definition avx512fintrin.h:5074
#define _mm_mask_cvt_roundss_sd(W, U, A, B, C)
Definition avx512fintrin.h:8805
#define _mm512_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE)
Definition avx512fintrin.h:10809
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short short short short short __q05
Definition avx512fintrin.h:108
#define _mm_mask_max_round_sd(W, U, A, B, C)
Definition avx512fintrin.h:11702
#define _mm512_mask_fmaddsub_round_pd(A, U, B, C, R)
Definition avx512fintrin.h:3932
#define _mm512_srli_epi64(X, C)
Definition avx512fintrin.h:1110
#define _mm_cvt_roundss_si32(A, B)
Definition avx512fintrin.h:8255
__inline __m512i long long long long long long long long long long __F
Definition avx512fintrin.h:80
#define _kshiftri_mask16(X, Y)
Definition avx512fintrin.h:10217
#define _mm512_fnmsub_round_pd(A, B, C, R)
Definition avx512fintrin.h:4001
#define _mm512_maskz_srli_epi64(U, X, C)
Definition avx512fintrin.h:1120
#define _mm512_mask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10698
#define _mm_mask_sqrt_round_ss(W, U, A, B, C)
Definition avx512fintrin.h:2161
__inline __m512i short short short short short short short short short short short short short short short short short short short short short __q10
Definition avx512fintrin.h:107
#define _mm_maskz_getexp_sd(U, A, B)
Definition avx512fintrin.h:15063
#define _mm512_maskz_add_round_pd(U, A, B, C)
Definition avx512fintrin.h:2612
#define _mm_mask_fmsub_round_sd(A, U, B, C, R)
Definition avx512fintrin.h:12426
#define _mm_mask_fmsub_round_ss(A, U, B, C, R)
Definition avx512fintrin.h:12429
unsigned short __mmask16
Definition avx512fintrin.h:61
#define _mm512_sub_round_pd(A, B, C)
Definition avx512fintrin.h:2624
#define _mm512_alignr_epi64(X, Y, C)
Definition avx512fintrin.h:9662
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short short short short short short short short short short __q00
Definition avx512fintrin.h:110
__inline __m512i short short short short short short short short short short short __q20
Definition avx512fintrin.h:104
#define _mm512_cvt_roundps_epu32(A, B)
Definition avx512fintrin.h:5154
#define _mm_maskz_cvt_roundsd_ss(U, A, B, C)
Definition avx512fintrin.h:8798
#define _mm512_rol_epi64(A, B)
Definition avx512fintrin.h:7746
#define _mm512_getexp_round_ps(A, R)
Definition avx512fintrin.h:9249
#define _mm512_maskz_cvt_roundps_epu32(U, A, B)
Definition avx512fintrin.h:5160
#define _mm512_mask_fixupimm_pd(X, U, Y, Z, C)
Definition avx512fintrin.h:14361
#define _mm512_mask3_fmsubadd_round_ps(A, B, C, U, R)
Definition avx512fintrin.h:3971
__inline __m512i short short short short short short short short short short __q21
Definition avx512fintrin.h:104
#define _mm_mask_div_round_sd(W, U, A, B, C)
Definition avx512fintrin.h:2964
__inline __m512i int int int int int int int int __I
Definition avx512fintrin.h:92
#define _mm512_mask_ror_epi32(W, U, A, B)
Definition avx512fintrin.h:7736
#define _mm512_fnmadd_round_pd(A, B, C, R)
Definition avx512fintrin.h:3977
#define _mm512_scalef_round_pd(A, B, C)
Definition avx512fintrin.h:3289
__inline __m512i short short short short short short short __q24
Definition avx512fintrin.h:103
__inline __m512i char char char char char __q58
Definition avx512fintrin.h:122
#define _mm512_mask_insertf64x4(W, U, X, Y, C)
Definition avx512fintrin.h:6257
#define _mm512_i64gather_epi32(INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10718
#define _mm512_i32scatter_pd(ADDR, INDEX, V1, SCALE)
Definition avx512fintrin.h:10754
#define _mm512_maskz_roundscale_pd(A, B, C)
Definition avx512fintrin.h:15264
#define _mm512_srai_epi64(X, C)
Definition avx512fintrin.h:1189
#define _mm_fnmadd_round_ss(A, B, C, R)
Definition avx512fintrin.h:11869
#define _mm_mask_fnmsub_round_sd(A, U, B, C, R)
Definition avx512fintrin.h:12462
#define _mm_maskz_scalef_round_ss(U, A, B, C)
Definition avx512fintrin.h:3345
#define _mm_mask_getexp_round_ss(W, U, A, B, C)
Definition avx512fintrin.h:9233
#define _mm512_mask_cvt_roundpd_ps(W, U, A, B)
Definition avx512fintrin.h:8786
__inline __m512i short short short short short short short short short short short short short short short short __q15
Definition avx512fintrin.h:106
#define _mm512_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE)
Definition avx512fintrin.h:10769
#define _mm512_mask_shuffle_f64x2(W, U, X, Y, C)
Definition avx512fintrin.h:4685
#define _mm512_fmaddsub_round_ps(A, B, C, R)
Definition avx512fintrin.h:3941
#define _mm512_mask_cvtps_ph(U, W, A, I)
Definition avx512fintrin.h:8675
#define _mm512_mask_slli_epi32(W, U, X, C)
Definition avx512fintrin.h:1273
#define _mm512_maskz_ror_epi32(U, A, B)
Definition avx512fintrin.h:7741
#define _mm512_mask_fmsubadd_round_ps(A, U, B, C, R)
Definition avx512fintrin.h:3968
#define _mm512_mask_shuffle_i64x2(W, U, X, Y, C)
Definition avx512fintrin.h:4649
#define _mm512_alignr_epi32(X, Y, C)
Definition avx512fintrin.h:9647
#define _mm_mask3_fnmsub_round_sd(A, B, C, U, R)
Definition avx512fintrin.h:12468
#define _mm512_extracti32x4_epi32(X, C)
Definition avx512fintrin.h:6129
#define _mm_sub_round_ss(A, B, C)
Definition avx512fintrin.h:1631
#define _mm512_maskz_min_round_pd(U, A, B, R)
Definition avx512fintrin.h:3140
__inline __m512i short short short short short short short short short short short short short short short short short short short short short short __q09
Definition avx512fintrin.h:107
#define _mm512_mask_roundscale_pd(A, B, C, D)
Definition avx512fintrin.h:15259
#define _mm_div_round_ss(A, B, C)
Definition avx512fintrin.h:2970
#define _mm512_mask_cvt_roundepi32_ps(W, U, A, B)
Definition avx512fintrin.h:5925
__inline __m512i char char char char char char char char char char char char char char char __q48
Definition avx512fintrin.h:124
#define _mm_mask_fnmadd_round_sd(A, U, B, C, R)
Definition avx512fintrin.h:12444
#define _mm512_mask_fnmadd_round_ps(A, U, B, C, R)
Definition avx512fintrin.h:3992
#define _mm_maskz_max_round_ss(U, A, B, C)
Definition avx512fintrin.h:11714
#define _mm_max_round_sd(A, B, C)
Definition avx512fintrin.h:11699
#define _mm512_mask_cvt_roundpd_epu32(W, U, A, B)
Definition avx512fintrin.h:4997
#define _mm_maskz_getmant_round_ss(U, X, Y, C, D, R)
Definition avx512fintrin.h:9222
#define _mm_cmp_sd_mask(X, Y, P)
Definition avx512fintrin.h:15421
#define _mm512_mask_cvtt_roundpd_epi32(W, U, A, B)
Definition avx512fintrin.h:4908
#define _mm_fnmsub_round_sd(A, B, C, R)
Definition avx512fintrin.h:11872
__inline __m512i char char char char char char char char char char char char char char char char char char char char char char char char char char char char char char char char __q31
Definition avx512fintrin.h:129
#define _mm512_maskz_fnmsub_round_pd(U, A, B, C, R)
Definition avx512fintrin.h:4010
#define _mm512_i64scatter_ps(ADDR, INDEX, V1, SCALE)
Definition avx512fintrin.h:10764
#define _mm512_shuffle_i64x2(X, Y, C)
Definition avx512fintrin.h:4643
#define _mm512_mask_shuffle_pd(W, U, X, Y, C)
Definition avx512fintrin.h:7323
#define _mm512_mask3_fmaddsub_round_pd(A, B, C, U, R)
Definition avx512fintrin.h:3935
#define _mm_comi_round_ss(A, B, C, D)
Definition avx512fintrin.h:12496
#define _mm512_maskz_fmaddsub_round_pd(U, A, B, C, R)
Definition avx512fintrin.h:3938
#define _mm_fixupimm_ss(X, Y, Z, C)
Definition avx512fintrin.h:14401
__inline __m512i short short short short short short short short short short short short short short __q17
Definition avx512fintrin.h:105
#define _mm512_mask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE)
Definition avx512fintrin.h:10645
#define _CMP_UNORD_Q
Definition avxintrin.h:82
#define _CMP_LE_OS
Definition avxintrin.h:80
#define _CMP_ORD_Q
Definition avxintrin.h:90
#define _CMP_NEQ_UQ
Definition avxintrin.h:84
#define _CMP_NLT_US
Definition avxintrin.h:86
#define _CMP_LT_OS
Definition avxintrin.h:78
#define _CMP_EQ_OQ
Definition avxintrin.h:76
#define _CMP_NLE_US
Definition avxintrin.h:88
unsigned int __R
Definition pconfigintrin.h:58
#define _MM_FROUND_FLOOR
Definition smmintrin.h:52
#define _MM_FROUND_CEIL
Definition smmintrin.h:54
#define _MM_FROUND_CUR_DIRECTION
Definition smmintrin.h:45